소스 검색

Merge remote-tracking branch 'origin/master'

Kang-min Liu 9 년 전
부모
커밋
ac8759cd3f
73개의 변경된 파일2781개의 추가작업 그리고 1335개의 파일을 삭제
  1. 6
    0
      .travis.yml
  2. 4
    0
      AUTHORS.rst
  3. 46
    0
      CHANGELOG.rst
  4. 1
    1
      README.rst
  5. 1
    1
      searx/__init__.py
  6. 1
    1
      searx/autocomplete.py
  7. 1
    1
      searx/engines/__init__.py
  8. 1
    1
      searx/engines/bing.py
  9. 1
    1
      searx/engines/bing_images.py
  10. 6
    2
      searx/engines/gigablast.py
  11. 9
    4
      searx/engines/google.py
  12. 1
    1
      searx/engines/piratebay.py
  13. 5
    0
      searx/engines/searchcode_code.py
  14. 5
    0
      searx/engines/searchcode_doc.py
  15. 46
    7
      searx/engines/startpage.py
  16. 6
    2
      searx/engines/twitter.py
  17. 26
    8
      searx/engines/wikidata.py
  18. 62
    0
      searx/engines/yandex.py
  19. 0
    93
      searx/engines/youtube.py
  20. 4
    4
      searx/plugins/self_info.py
  21. 10
    8
      searx/poolrequests.py
  22. 239
    0
      searx/results.py
  23. 26
    258
      searx/search.py
  24. 27
    12
      searx/settings.yml
  25. 17
    5
      searx/settings_robot.yml
  26. 88
    1
      searx/static/themes/oscar/css/oscar.min.css
  27. 5
    0
      searx/static/themes/oscar/less/oscar/results.less
  28. 1
    0
      searx/templates/courgette/opensearch.xml
  29. 1
    0
      searx/templates/default/opensearch.xml
  30. 5
    1
      searx/templates/oscar/macros.html
  31. 1
    0
      searx/templates/oscar/opensearch.xml
  32. 2
    2
      searx/templates/pix-art/preferences.html
  33. 4
    4
      searx/tests/engines/test_bing.py
  34. 5
    5
      searx/tests/engines/test_bing_images.py
  35. 4
    3
      searx/tests/engines/test_duckduckgo.py
  36. 3
    3
      searx/tests/engines/test_piratebay.py
  37. 3
    3
      searx/tests/engines/test_startpage.py
  38. 0
    204
      searx/tests/engines/test_youtube.py
  39. 0
    1
      searx/tests/test_engines.py
  40. 17
    11
      searx/tests/test_plugins.py
  41. 41
    0
      searx/tests/test_results.py
  42. 4
    19
      searx/tests/test_search.py
  43. 10
    0
      searx/tests/test_utils.py
  44. 7
    1
      searx/tests/test_webapp.py
  45. BIN
      searx/translations/de/LC_MESSAGES/messages.mo
  46. 116
    54
      searx/translations/de/LC_MESSAGES/messages.po
  47. BIN
      searx/translations/en/LC_MESSAGES/messages.mo
  48. BIN
      searx/translations/es/LC_MESSAGES/messages.mo
  49. 122
    58
      searx/translations/es/LC_MESSAGES/messages.po
  50. BIN
      searx/translations/fr/LC_MESSAGES/messages.mo
  51. 116
    54
      searx/translations/fr/LC_MESSAGES/messages.po
  52. BIN
      searx/translations/he/LC_MESSAGES/messages.mo
  53. 118
    56
      searx/translations/he/LC_MESSAGES/messages.po
  54. BIN
      searx/translations/hu/LC_MESSAGES/messages.mo
  55. 116
    54
      searx/translations/hu/LC_MESSAGES/messages.po
  56. BIN
      searx/translations/it/LC_MESSAGES/messages.mo
  57. 115
    53
      searx/translations/it/LC_MESSAGES/messages.po
  58. BIN
      searx/translations/ja/LC_MESSAGES/messages.mo
  59. 124
    62
      searx/translations/ja/LC_MESSAGES/messages.po
  60. BIN
      searx/translations/nl/LC_MESSAGES/messages.mo
  61. 116
    54
      searx/translations/nl/LC_MESSAGES/messages.po
  62. BIN
      searx/translations/pt/LC_MESSAGES/messages.mo
  63. BIN
      searx/translations/ro/LC_MESSAGES/messages.mo
  64. 117
    55
      searx/translations/ro/LC_MESSAGES/messages.po
  65. BIN
      searx/translations/ru/LC_MESSAGES/messages.mo
  66. 115
    53
      searx/translations/ru/LC_MESSAGES/messages.po
  67. BIN
      searx/translations/tr/LC_MESSAGES/messages.mo
  68. 116
    54
      searx/translations/tr/LC_MESSAGES/messages.po
  69. BIN
      searx/translations/zh_CN/LC_MESSAGES/messages.mo
  70. 682
    0
      searx/translations/zh_CN/LC_MESSAGES/messages.po
  71. 20
    24
      searx/utils.py
  72. 1
    1
      searx/version.py
  73. 35
    35
      searx/webapp.py

+ 6
- 0
.travis.yml 파일 보기

1
+sudo: false
2
+cache:
3
+  - pip
4
+  - npm
5
+  - directories:
6
+    - $HOME/.cache/pip
1
 language: python
7
 language: python
2
 python:
8
 python:
3
   - "2.7"
9
   - "2.7"

+ 4
- 0
AUTHORS.rst 파일 보기

34
 - @opi
34
 - @opi
35
 - @dimqua
35
 - @dimqua
36
 - Giorgos Logiotatidis
36
 - Giorgos Logiotatidis
37
+- Luc Didry
38
+- Niklas Haas
39
+- @underr
40
+- Emmanuel Benazera

+ 46
- 0
CHANGELOG.rst 파일 보기

1
+0.8.0 2015.09.08
2
+================
3
+
4
+- New engines
5
+
6
+  - Blekko (image)
7
+  - Gigablast (general)
8
+  - Spotify (music)
9
+  - Swisscows (general, images)
10
+  - Qwant (general, images, news, social media)
11
+- Plugin system
12
+- New plugins
13
+
14
+  - HTTPS rewrite
15
+  - Search on cagetory select
16
+  - User information
17
+  - Tracker url part remover
18
+- Multiple outgoing IP and HTTP/HTTPS proxy support
19
+- New autocompleter: startpage
20
+- New theme: pix-art
21
+- Settings file structure change
22
+- Fabfile, docker deployment
23
+- Optional safesearch result filter
24
+- Force HTTPS in engines if possible
25
+- Disabled HTTP referrer on outgoing links
26
+- Display cookie information
27
+- Prettier search URLs
28
+- Right-to-left text handling in themes
29
+- Translation updates (New locales: Chinese, Hebrew, Portuguese, Romanian)
30
+
31
+
32
+New dependencies
33
+~~~~~~~~~~~~~~~~
34
+
35
+- pyopenssl
36
+- ndg-httpsclient
37
+- pyasn1
38
+- pyasn1-modules
39
+- certifi
40
+
41
+
42
+News
43
+~~~~
44
+
45
+@dalf joined the maintainer "team"
46
+
1
 0.7.0 2015.02.03
47
 0.7.0 2015.02.03
2
 ================
48
 ================
3
 
49
 

+ 1
- 1
README.rst 파일 보기

96
 Runs robot (Selenium) tests, you must have ``firefox`` installed because
96
 Runs robot (Selenium) tests, you must have ``firefox`` installed because
97
 this functional tests actually run the browser and perform operations on
97
 this functional tests actually run the browser and perform operations on
98
 it. Also searx is executed with
98
 it. Also searx is executed with
99
-`settings\_robot <https://github.com/asciimoo/searx/blob/master/searx/settings_robot.py>`__.
99
+`settings\_robot <https://github.com/asciimoo/searx/blob/master/searx/settings_robot.yml>`__.
100
 
100
 
101
 ``make flake8``
101
 ``make flake8``
102
 '''''''''''''''
102
 '''''''''''''''

+ 1
- 1
searx/__init__.py 파일 보기

40
 with open(settings_path) as settings_yaml:
40
 with open(settings_path) as settings_yaml:
41
     settings = load(settings_yaml)
41
     settings = load(settings_yaml)
42
 
42
 
43
-if settings.get('server', {}).get('debug'):
43
+if settings.get('general', {}).get('debug'):
44
     logging.basicConfig(level=logging.DEBUG)
44
     logging.basicConfig(level=logging.DEBUG)
45
 else:
45
 else:
46
     logging.basicConfig(level=logging.WARNING)
46
     logging.basicConfig(level=logging.WARNING)

+ 1
- 1
searx/autocomplete.py 파일 보기

29
 
29
 
30
 def get(*args, **kwargs):
30
 def get(*args, **kwargs):
31
     if 'timeout' not in kwargs:
31
     if 'timeout' not in kwargs:
32
-        kwargs['timeout'] = settings['server']['request_timeout']
32
+        kwargs['timeout'] = settings['outgoing']['request_timeout']
33
 
33
 
34
     return http_get(*args, **kwargs)
34
     return http_get(*args, **kwargs)
35
 
35
 

+ 1
- 1
searx/engines/__init__.py 파일 보기

75
         engine.safesearch = False
75
         engine.safesearch = False
76
 
76
 
77
     if not hasattr(engine, 'timeout'):
77
     if not hasattr(engine, 'timeout'):
78
-        engine.timeout = settings['server']['request_timeout']
78
+        engine.timeout = settings['outgoing']['request_timeout']
79
 
79
 
80
     if not hasattr(engine, 'shortcut'):
80
     if not hasattr(engine, 'shortcut'):
81
         engine.shortcut = ''
81
         engine.shortcut = ''

+ 1
- 1
searx/engines/bing.py 파일 보기

52
 def response(resp):
52
 def response(resp):
53
     results = []
53
     results = []
54
 
54
 
55
-    dom = html.fromstring(resp.content)
55
+    dom = html.fromstring(resp.text)
56
 
56
 
57
     # parse results
57
     # parse results
58
     for result in dom.xpath('//div[@class="sa_cc"]'):
58
     for result in dom.xpath('//div[@class="sa_cc"]'):

+ 1
- 1
searx/engines/bing_images.py 파일 보기

63
 def response(resp):
63
 def response(resp):
64
     results = []
64
     results = []
65
 
65
 
66
-    dom = html.fromstring(resp.content)
66
+    dom = html.fromstring(resp.text)
67
 
67
 
68
     # init regex for yaml-parsing
68
     # init regex for yaml-parsing
69
     p = re.compile('({|,)([a-z]+):(")')
69
     p = re.compile('({|,)([a-z]+):(")')

+ 6
- 2
searx/engines/gigablast.py 파일 보기

13
 from urllib import urlencode
13
 from urllib import urlencode
14
 from cgi import escape
14
 from cgi import escape
15
 from lxml import etree
15
 from lxml import etree
16
+from random import randint
17
+from time import time
16
 
18
 
17
 # engine dependent config
19
 # engine dependent config
18
 categories = ['general']
20
 categories = ['general']
21
 
23
 
22
 # search-url, invalid HTTPS certificate
24
 # search-url, invalid HTTPS certificate
23
 base_url = 'http://gigablast.com/'
25
 base_url = 'http://gigablast.com/'
24
-search_string = 'search?{query}&n={number_of_results}&s={offset}&xml=1&qh=0'
26
+search_string = 'search?{query}&n={number_of_results}&s={offset}&xml=1&qh=0&uxid={uxid}&rand={rand}'
25
 
27
 
26
 # specific xpath variables
28
 # specific xpath variables
27
 results_xpath = '//response//result'
29
 results_xpath = '//response//result'
37
     search_path = search_string.format(
39
     search_path = search_string.format(
38
         query=urlencode({'q': query}),
40
         query=urlencode({'q': query}),
39
         offset=offset,
41
         offset=offset,
40
-        number_of_results=number_of_results)
42
+        number_of_results=number_of_results,
43
+        uxid=randint(10000, 10000000),
44
+        rand=int(time()))
41
 
45
 
42
     params['url'] = base_url + search_path
46
     params['url'] = base_url + search_path
43
 
47
 

+ 9
- 4
searx/engines/google.py 파일 보기

9
 # @parse       url, title, content, suggestion
9
 # @parse       url, title, content, suggestion
10
 
10
 
11
 import re
11
 import re
12
+from cgi import escape
12
 from urllib import urlencode
13
 from urllib import urlencode
13
 from urlparse import urlparse, parse_qsl
14
 from urlparse import urlparse, parse_qsl
14
-from lxml import html
15
+from lxml import html, etree
15
 from searx.poolrequests import get
16
 from searx.poolrequests import get
16
 from searx.engines.xpath import extract_text, extract_url
17
 from searx.engines.xpath import extract_text, extract_url
18
+from searx.search import logger
19
+
20
+logger = logger.getChild('google engine')
17
 
21
 
18
 
22
 
19
 # engine dependent config
23
 # engine dependent config
167
 def extract_text_from_dom(result, xpath):
171
 def extract_text_from_dom(result, xpath):
168
     r = result.xpath(xpath)
172
     r = result.xpath(xpath)
169
     if len(r) > 0:
173
     if len(r) > 0:
170
-        return extract_text(r[0])
174
+        return escape(extract_text(r[0]))
171
     return None
175
     return None
172
 
176
 
173
 
177
 
224
 
228
 
225
     # parse results
229
     # parse results
226
     for result in dom.xpath(results_xpath):
230
     for result in dom.xpath(results_xpath):
227
-        title = extract_text(result.xpath(title_xpath)[0])
228
         try:
231
         try:
232
+            title = extract_text(result.xpath(title_xpath)[0])
229
             url = parse_url(extract_url(result.xpath(url_xpath), google_url), google_hostname)
233
             url = parse_url(extract_url(result.xpath(url_xpath), google_url), google_hostname)
230
             parsed_url = urlparse(url, google_hostname)
234
             parsed_url = urlparse(url, google_hostname)
231
 
235
 
268
                                 'content': content
272
                                 'content': content
269
                                 })
273
                                 })
270
         except:
274
         except:
275
+            logger.debug('result parse error in:\n%s', etree.tostring(result, pretty_print=True))
271
             continue
276
             continue
272
 
277
 
273
     # parse suggestion
278
     # parse suggestion
274
     for suggestion in dom.xpath(suggestion_xpath):
279
     for suggestion in dom.xpath(suggestion_xpath):
275
         # append suggestion
280
         # append suggestion
276
-        results.append({'suggestion': extract_text(suggestion)})
281
+        results.append({'suggestion': escape(extract_text(suggestion))})
277
 
282
 
278
     # return results
283
     # return results
279
     return results
284
     return results

+ 1
- 1
searx/engines/piratebay.py 파일 보기

20
 paging = True
20
 paging = True
21
 
21
 
22
 # search-url
22
 # search-url
23
-url = 'https://thepiratebay.am/'
23
+url = 'https://thepiratebay.se/'
24
 search_url = url + 'search/{search_term}/{pageno}/99/{search_type}'
24
 search_url = url + 'search/{search_term}/{pageno}/99/{search_type}'
25
 
25
 
26
 # piratebay specific type-definitions
26
 # piratebay specific type-definitions

+ 5
- 0
searx/engines/searchcode_code.py 파일 보기

34
     params['url'] = search_url.format(query=urlencode({'q': query}),
34
     params['url'] = search_url.format(query=urlencode({'q': query}),
35
                                       pageno=params['pageno']-1)
35
                                       pageno=params['pageno']-1)
36
 
36
 
37
+    # Disable SSL verification
38
+    # error: (60) SSL certificate problem: unable to get local issuer
39
+    # certificate
40
+    params['verify'] = False
41
+
37
     return params
42
     return params
38
 
43
 
39
 
44
 

+ 5
- 0
searx/engines/searchcode_doc.py 파일 보기

27
     params['url'] = search_url.format(query=urlencode({'q': query}),
27
     params['url'] = search_url.format(query=urlencode({'q': query}),
28
                                       pageno=params['pageno']-1)
28
                                       pageno=params['pageno']-1)
29
 
29
 
30
+    # Disable SSL verification
31
+    # error: (60) SSL certificate problem: unable to get local issuer
32
+    # certificate
33
+    params['verify'] = False
34
+
30
     return params
35
     return params
31
 
36
 
32
 
37
 

+ 46
- 7
searx/engines/startpage.py 파일 보기

12
 
12
 
13
 from lxml import html
13
 from lxml import html
14
 from cgi import escape
14
 from cgi import escape
15
+from dateutil import parser
16
+from datetime import datetime, timedelta
15
 import re
17
 import re
16
 from searx.engines.xpath import extract_text
18
 from searx.engines.xpath import extract_text
17
 
19
 
66
         url = link.attrib.get('href')
68
         url = link.attrib.get('href')
67
 
69
 
68
         # block google-ad url's
70
         # block google-ad url's
69
-        if re.match("^http(s|)://www.google.[a-z]+/aclk.*$", url):
71
+        if re.match("^http(s|)://(www\.)?google\.[a-z]+/aclk.*$", url):
72
+            continue
73
+
74
+        # block startpage search url's
75
+        if re.match("^http(s|)://(www\.)?startpage\.com/do/search\?.*$", url):
76
+            continue
77
+
78
+        # block ixquick search url's
79
+        if re.match("^http(s|)://(www\.)?ixquick\.com/do/search\?.*$", url):
70
             continue
80
             continue
71
 
81
 
72
         title = escape(extract_text(link))
82
         title = escape(extract_text(link))
73
 
83
 
74
-        if result.xpath('./p[@class="desc"]'):
75
-            content = escape(extract_text(result.xpath('./p[@class="desc"]')))
84
+        if result.xpath('./p[@class="desc clk"]'):
85
+            content = escape(extract_text(result.xpath('./p[@class="desc clk"]')))
76
         else:
86
         else:
77
             content = ''
87
             content = ''
78
 
88
 
79
-        # append result
80
-        results.append({'url': url,
81
-                        'title': title,
82
-                        'content': content})
89
+        published_date = None
90
+
91
+        # check if search result starts with something like: "2 Sep 2014 ... "
92
+        if re.match("^([1-9]|[1-2][0-9]|3[0-1]) [A-Z][a-z]{2} [0-9]{4} \.\.\. ", content):
93
+            date_pos = content.find('...')+4
94
+            date_string = content[0:date_pos-5]
95
+            published_date = parser.parse(date_string, dayfirst=True)
96
+
97
+            # fix content string
98
+            content = content[date_pos:]
99
+
100
+        # check if search result starts with something like: "5 days ago ... "
101
+        elif re.match("^[0-9]+ days? ago \.\.\. ", content):
102
+            date_pos = content.find('...')+4
103
+            date_string = content[0:date_pos-5]
104
+
105
+            # calculate datetime
106
+            published_date = datetime.now() - timedelta(days=int(re.match(r'\d+', date_string).group()))
107
+
108
+            # fix content string
109
+            content = content[date_pos:]
110
+
111
+        if published_date:
112
+            # append result
113
+            results.append({'url': url,
114
+                            'title': title,
115
+                            'content': content,
116
+                            'publishedDate': published_date})
117
+        else:
118
+            # append result
119
+            results.append({'url': url,
120
+                            'title': title,
121
+                            'content': content})
83
 
122
 
84
     # return results
123
     # return results
85
     return results
124
     return results

+ 6
- 2
searx/engines/twitter.py 파일 보기

55
 
55
 
56
     # parse results
56
     # parse results
57
     for tweet in dom.xpath(results_xpath):
57
     for tweet in dom.xpath(results_xpath):
58
-        link = tweet.xpath(link_xpath)[0]
58
+        try:
59
+            link = tweet.xpath(link_xpath)[0]
60
+            content = extract_text(tweet.xpath(content_xpath)[0])
61
+        except Exception:
62
+            continue
63
+
59
         url = urljoin(base_url, link.attrib.get('href'))
64
         url = urljoin(base_url, link.attrib.get('href'))
60
         title = extract_text(tweet.xpath(title_xpath))
65
         title = extract_text(tweet.xpath(title_xpath))
61
-        content = extract_text(tweet.xpath(content_xpath)[0])
62
 
66
 
63
         pubdate = tweet.xpath(timestamp_xpath)
67
         pubdate = tweet.xpath(timestamp_xpath)
64
         if len(pubdate) > 0:
68
         if len(pubdate) > 0:

+ 26
- 8
searx/engines/wikidata.py 파일 보기

1
 import json
1
 import json
2
-from urllib import urlencode
2
+
3
+from searx import logger
3
 from searx.poolrequests import get
4
 from searx.poolrequests import get
4
 from searx.utils import format_date_by_locale
5
 from searx.utils import format_date_by_locale
5
 
6
 
7
+from datetime import datetime
8
+from dateutil.parser import parse as dateutil_parse
9
+from urllib import urlencode
10
+
11
+
12
+logger = logger.getChild('wikidata')
6
 result_count = 1
13
 result_count = 1
7
 wikidata_host = 'https://www.wikidata.org'
14
 wikidata_host = 'https://www.wikidata.org'
8
 wikidata_api = wikidata_host + '/w/api.php'
15
 wikidata_api = wikidata_host + '/w/api.php'
164
     if postal_code is not None:
171
     if postal_code is not None:
165
         attributes.append({'label': 'Postal code(s)', 'value': postal_code})
172
         attributes.append({'label': 'Postal code(s)', 'value': postal_code})
166
 
173
 
167
-    date_of_birth = get_time(claims, 'P569', None)
174
+    date_of_birth = get_time(claims, 'P569', locale, None)
168
     if date_of_birth is not None:
175
     if date_of_birth is not None:
169
-        date_of_birth = format_date_by_locale(date_of_birth[8:], locale)
170
         attributes.append({'label': 'Date of birth', 'value': date_of_birth})
176
         attributes.append({'label': 'Date of birth', 'value': date_of_birth})
171
 
177
 
172
-    date_of_death = get_time(claims, 'P570', None)
178
+    date_of_death = get_time(claims, 'P570', locale, None)
173
     if date_of_death is not None:
179
     if date_of_death is not None:
174
-        date_of_death = format_date_by_locale(date_of_death[8:], locale)
175
         attributes.append({'label': 'Date of death', 'value': date_of_death})
180
         attributes.append({'label': 'Date of death', 'value': date_of_death})
176
 
181
 
177
     if len(attributes) == 0 and len(urls) == 2 and len(description) == 0:
182
     if len(attributes) == 0 and len(urls) == 2 and len(description) == 0:
229
         return result[0]
234
         return result[0]
230
 
235
 
231
 
236
 
232
-def get_time(claims, propertyName, defaultValue=None):
237
+def get_time(claims, propertyName, locale, defaultValue=None):
233
     propValue = claims.get(propertyName, {})
238
     propValue = claims.get(propertyName, {})
234
     if len(propValue) == 0:
239
     if len(propValue) == 0:
235
         return defaultValue
240
         return defaultValue
244
             result.append(value.get('time', ''))
249
             result.append(value.get('time', ''))
245
 
250
 
246
     if len(result) == 0:
251
     if len(result) == 0:
247
-        return defaultValue
252
+        date_string = defaultValue
248
     else:
253
     else:
249
-        return ', '.join(result)
254
+        date_string = ', '.join(result)
255
+
256
+    try:
257
+        parsed_date = datetime.strptime(date_string, "+%Y-%m-%dT%H:%M:%SZ")
258
+    except:
259
+        if date_string.startswith('-'):
260
+            return date_string.split('T')[0]
261
+        try:
262
+            parsed_date = dateutil_parse(date_string, fuzzy=False, default=False)
263
+        except:
264
+            logger.debug('could not parse date %s', date_string)
265
+            return date_string.split('T')[0]
266
+
267
+    return format_date_by_locale(parsed_date, locale)
250
 
268
 
251
 
269
 
252
 def get_geolink(claims, propertyName, defaultValue=''):
270
 def get_geolink(claims, propertyName, defaultValue=''):

+ 62
- 0
searx/engines/yandex.py 파일 보기

1
+"""
2
+ Yahoo (Web)
3
+
4
+ @website     https://yandex.ru/
5
+ @provide-api ?
6
+ @using-api   no
7
+ @results     HTML (using search portal)
8
+ @stable      no (HTML can change)
9
+ @parse       url, title, content
10
+"""
11
+
12
+from urllib import urlencode
13
+from lxml import html
14
+from searx.search import logger
15
+
16
+logger = logger.getChild('yandex engine')
17
+
18
+# engine dependent config
19
+categories = ['general']
20
+paging = True
21
+language_support = True  # TODO
22
+
23
+default_tld = 'com'
24
+language_map = {'ru': 'ru',
25
+                'ua': 'uk',
26
+                'tr': 'com.tr'}
27
+
28
+# search-url
29
+base_url = 'https://yandex.{tld}/'
30
+search_url = 'search/?{query}&p={page}'
31
+
32
+results_xpath = '//div[@class="serp-item serp-item_plain_yes clearfix i-bem"]'
33
+url_xpath = './/h2/a/@href'
34
+title_xpath = './/h2/a//text()'
35
+content_xpath = './/div[@class="serp-item__text"]//text()'
36
+
37
+
38
+def request(query, params):
39
+    lang = params['language'].split('_')[0]
40
+    host = base_url.format(tld=language_map.get(lang) or default_tld)
41
+    params['url'] = host + search_url.format(page=params['pageno']-1,
42
+                                             query=urlencode({'text': query}))
43
+    return params
44
+
45
+
46
+# get response from search-request
47
+def response(resp):
48
+    dom = html.fromstring(resp.text)
49
+    results = []
50
+
51
+    for result in dom.xpath(results_xpath):
52
+        try:
53
+            res = {'url': result.xpath(url_xpath)[0],
54
+                   'title': ''.join(result.xpath(title_xpath)),
55
+                   'content': ''.join(result.xpath(content_xpath))}
56
+        except:
57
+            logger.exception('yandex parse crash')
58
+            continue
59
+
60
+        results.append(res)
61
+
62
+    return results

+ 0
- 93
searx/engines/youtube.py 파일 보기

1
-# Youtube (Videos)
2
-#
3
-# @website     https://www.youtube.com/
4
-# @provide-api yes (http://gdata-samples-youtube-search-py.appspot.com/)
5
-#
6
-# @using-api   yes
7
-# @results     JSON
8
-# @stable      yes
9
-# @parse       url, title, content, publishedDate, thumbnail, embedded
10
-
11
-from json import loads
12
-from urllib import urlencode
13
-from dateutil import parser
14
-
15
-# engine dependent config
16
-categories = ['videos', 'music']
17
-paging = True
18
-language_support = True
19
-
20
-# search-url
21
-base_url = 'https://gdata.youtube.com/feeds/api/videos'
22
-search_url = base_url + '?alt=json&{query}&start-index={index}&max-results=5'
23
-
24
-embedded_url = '<iframe width="540" height="304" ' +\
25
-    'data-src="//www.youtube-nocookie.com/embed/{videoid}" ' +\
26
-    'frameborder="0" allowfullscreen></iframe>'
27
-
28
-
29
-# do search-request
30
-def request(query, params):
31
-    index = (params['pageno'] - 1) * 5 + 1
32
-
33
-    params['url'] = search_url.format(query=urlencode({'q': query}),
34
-                                      index=index)
35
-
36
-    # add language tag if specified
37
-    if params['language'] != 'all':
38
-        params['url'] += '&lr=' + params['language'].split('_')[0]
39
-
40
-    return params
41
-
42
-
43
-# get response from search-request
44
-def response(resp):
45
-    results = []
46
-
47
-    search_results = loads(resp.text)
48
-
49
-    # return empty array if there are no results
50
-    if 'feed' not in search_results:
51
-        return []
52
-
53
-    feed = search_results['feed']
54
-
55
-    # parse results
56
-    for result in feed['entry']:
57
-        url = [x['href'] for x in result['link'] if x['type'] == 'text/html']
58
-
59
-        if not url:
60
-            continue
61
-
62
-        # remove tracking
63
-        url = url[0].replace('feature=youtube_gdata', '')
64
-        if url.endswith('&'):
65
-            url = url[:-1]
66
-
67
-        videoid = url[32:]
68
-
69
-        title = result['title']['$t']
70
-        content = ''
71
-        thumbnail = ''
72
-
73
-        pubdate = result['published']['$t']
74
-        publishedDate = parser.parse(pubdate)
75
-
76
-        if 'media$thumbnail' in result['media$group']:
77
-            thumbnail = result['media$group']['media$thumbnail'][0]['url']
78
-
79
-        content = result['content']['$t']
80
-
81
-        embedded = embedded_url.format(videoid=videoid)
82
-
83
-        # append result
84
-        results.append({'url': url,
85
-                        'title': title,
86
-                        'content': content,
87
-                        'template': 'videos.html',
88
-                        'publishedDate': publishedDate,
89
-                        'embedded': embedded,
90
-                        'thumbnail': thumbnail})
91
-
92
-    # return results
93
-    return results

+ 4
- 4
searx/plugins/self_info.py 파일 보기

35
             ip = x_forwarded_for[0]
35
             ip = x_forwarded_for[0]
36
         else:
36
         else:
37
             ip = request.remote_addr
37
             ip = request.remote_addr
38
-        ctx['search'].answers.clear()
39
-        ctx['search'].answers.add(ip)
38
+        ctx['search'].result_container.answers.clear()
39
+        ctx['search'].result_container.answers.add(ip)
40
     elif p.match(ctx['search'].query):
40
     elif p.match(ctx['search'].query):
41
         ua = request.user_agent
41
         ua = request.user_agent
42
-        ctx['search'].answers.clear()
43
-        ctx['search'].answers.add(ua)
42
+        ctx['search'].result_container.answers.clear()
43
+        ctx['search'].result_container.answers.add(ua)
44
     return True
44
     return True

+ 10
- 8
searx/poolrequests.py 파일 보기

1
 import requests
1
 import requests
2
+
2
 from itertools import cycle
3
 from itertools import cycle
4
+from threading import RLock
3
 from searx import settings
5
 from searx import settings
4
 
6
 
5
 
7
 
39
                               block=self._pool_block, **self._conn_params)
41
                               block=self._pool_block, **self._conn_params)
40
 
42
 
41
 
43
 
42
-if settings.get('source_ips'):
44
+if settings['outgoing'].get('source_ips'):
43
     http_adapters = cycle(HTTPAdapterWithConnParams(pool_connections=100, source_address=(source_ip, 0))
45
     http_adapters = cycle(HTTPAdapterWithConnParams(pool_connections=100, source_address=(source_ip, 0))
44
-                          for source_ip in settings['source_ips'])
46
+                          for source_ip in settings['outgoing']['source_ips'])
45
     https_adapters = cycle(HTTPAdapterWithConnParams(pool_connections=100, source_address=(source_ip, 0))
47
     https_adapters = cycle(HTTPAdapterWithConnParams(pool_connections=100, source_address=(source_ip, 0))
46
-                           for source_ip in settings['source_ips'])
48
+                           for source_ip in settings['outgoing']['source_ips'])
47
 else:
49
 else:
48
     http_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=100), ))
50
     http_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=100), ))
49
     https_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=100), ))
51
     https_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=100), ))
55
         super(SessionSinglePool, self).__init__()
57
         super(SessionSinglePool, self).__init__()
56
 
58
 
57
         # reuse the same adapters
59
         # reuse the same adapters
58
-        self.adapters.clear()
59
-        self.mount('https://', next(https_adapters))
60
-        self.mount('http://', next(http_adapters))
60
+        with RLock():
61
+            self.adapters.clear()
62
+            self.mount('https://', next(https_adapters))
63
+            self.mount('http://', next(http_adapters))
61
 
64
 
62
     def close(self):
65
     def close(self):
63
         """Call super, but clear adapters since there are managed globaly"""
66
         """Call super, but clear adapters since there are managed globaly"""
67
 
70
 
68
 def request(method, url, **kwargs):
71
 def request(method, url, **kwargs):
69
     """same as requests/requests/api.py request(...) except it use SessionSinglePool and force proxies"""
72
     """same as requests/requests/api.py request(...) except it use SessionSinglePool and force proxies"""
70
-    global settings
71
     session = SessionSinglePool()
73
     session = SessionSinglePool()
72
-    kwargs['proxies'] = settings.get('outgoing_proxies', None)
74
+    kwargs['proxies'] = settings['outgoing'].get('proxies', None)
73
     response = session.request(method=method, url=url, **kwargs)
75
     response = session.request(method=method, url=url, **kwargs)
74
     session.close()
76
     session.close()
75
     return response
77
     return response

+ 239
- 0
searx/results.py 파일 보기

1
+import re
2
+from collections import defaultdict
3
+from operator import itemgetter
4
+from threading import RLock
5
+from urlparse import urlparse, unquote
6
+from searx.engines import engines
7
+
8
+CONTENT_LEN_IGNORED_CHARS_REGEX = re.compile('[,;:!?\./\\\\ ()-_]', re.M | re.U)
9
+WHITESPACE_REGEX = re.compile('( |\t|\n)+', re.M | re.U)
10
+
11
+
12
+# return the meaningful length of the content for a result
13
+def result_content_len(content):
14
+    if isinstance(content, basestring):
15
+        return len(CONTENT_LEN_IGNORED_CHARS_REGEX.sub('', content))
16
+    else:
17
+        return 0
18
+
19
+
20
+def compare_urls(url_a, url_b):
21
+    if url_a.netloc != url_b.netloc or url_a.query != url_b.query:
22
+        return False
23
+
24
+    # remove / from the end of the url if required
25
+    path_a = url_a.path[:-1]\
26
+        if url_a.path.endswith('/')\
27
+        else url_a.path
28
+    path_b = url_b.path[:-1]\
29
+        if url_b.path.endswith('/')\
30
+        else url_b.path
31
+
32
+    return unquote(path_a) == unquote(path_b)
33
+
34
+
35
+def merge_two_infoboxes(infobox1, infobox2):
36
+    if 'urls' in infobox2:
37
+        urls1 = infobox1.get('urls', None)
38
+        if urls1 is None:
39
+            urls1 = []
40
+            infobox1.set('urls', urls1)
41
+
42
+        urlSet = set()
43
+        for url in infobox1.get('urls', []):
44
+            urlSet.add(url.get('url', None))
45
+
46
+        for url in infobox2.get('urls', []):
47
+            if url.get('url', None) not in urlSet:
48
+                urls1.append(url)
49
+
50
+    if 'attributes' in infobox2:
51
+        attributes1 = infobox1.get('attributes', None)
52
+        if attributes1 is None:
53
+            attributes1 = []
54
+            infobox1.set('attributes', attributes1)
55
+
56
+        attributeSet = set()
57
+        for attribute in infobox1.get('attributes', []):
58
+            if attribute.get('label', None) not in attributeSet:
59
+                attributeSet.add(attribute.get('label', None))
60
+
61
+        for attribute in infobox2.get('attributes', []):
62
+            attributes1.append(attribute)
63
+
64
+    if 'content' in infobox2:
65
+        content1 = infobox1.get('content', None)
66
+        content2 = infobox2.get('content', '')
67
+        if content1 is not None:
68
+            if result_content_len(content2) > result_content_len(content1):
69
+                infobox1['content'] = content2
70
+        else:
71
+            infobox1.set('content', content2)
72
+
73
+
74
+def result_score(result):
75
+    weight = 1.0
76
+
77
+    for result_engine in result['engines']:
78
+        if hasattr(engines[result_engine], 'weight'):
79
+            weight *= float(engines[result_engine].weight)
80
+
81
+    occurences = len(result['positions'])
82
+
83
+    return sum((occurences * weight) / position for position in result['positions'])
84
+
85
+
86
+class ResultContainer(object):
87
+    """docstring for ResultContainer"""
88
+    def __init__(self):
89
+        super(ResultContainer, self).__init__()
90
+        self.results = defaultdict(list)
91
+        self._merged_results = []
92
+        self.infoboxes = []
93
+        self._infobox_ids = {}
94
+        self.suggestions = set()
95
+        self.answers = set()
96
+
97
+    def extend(self, engine_name, results):
98
+        for result in list(results):
99
+            if 'suggestion' in result:
100
+                self.suggestions.add(result['suggestion'])
101
+                results.remove(result)
102
+            elif 'answer' in result:
103
+                self.answers.add(result['answer'])
104
+                results.remove(result)
105
+            elif 'infobox' in result:
106
+                self._merge_infobox(result)
107
+                results.remove(result)
108
+
109
+        with RLock():
110
+            engines[engine_name].stats['search_count'] += 1
111
+            engines[engine_name].stats['result_count'] += len(results)
112
+
113
+        if not results:
114
+            return
115
+
116
+        self.results[engine_name].extend(results)
117
+
118
+        for i, result in enumerate(results):
119
+            position = i + 1
120
+            self._merge_result(result, position)
121
+
122
+    def _merge_infobox(self, infobox):
123
+        add_infobox = True
124
+        infobox_id = infobox.get('id', None)
125
+        if infobox_id is not None:
126
+            existingIndex = self._infobox_ids.get(infobox_id, None)
127
+            if existingIndex is not None:
128
+                merge_two_infoboxes(self.infoboxes[existingIndex], infobox)
129
+                add_infobox = False
130
+
131
+        if add_infobox:
132
+            self.infoboxes.append(infobox)
133
+            self._infobox_ids[infobox_id] = len(self.infoboxes) - 1
134
+
135
+    def _merge_result(self, result, position):
136
+        result['parsed_url'] = urlparse(result['url'])
137
+
138
+        # if the result has no scheme, use http as default
139
+        if not result['parsed_url'].scheme:
140
+            result['parsed_url'] = result['parsed_url']._replace(scheme="http")
141
+
142
+        result['host'] = result['parsed_url'].netloc
143
+
144
+        if result['host'].startswith('www.'):
145
+            result['host'] = result['host'].replace('www.', '', 1)
146
+
147
+        result['engines'] = [result['engine']]
148
+
149
+        # strip multiple spaces and cariage returns from content
150
+        if result.get('content'):
151
+            result['content'] = WHITESPACE_REGEX.sub(' ', result['content'])
152
+
153
+        # check for duplicates
154
+        duplicated = False
155
+        for merged_result in self._merged_results:
156
+            if compare_urls(result['parsed_url'], merged_result['parsed_url'])\
157
+               and result.get('template') == merged_result.get('template'):
158
+                duplicated = merged_result
159
+                break
160
+
161
+        # merge duplicates together
162
+        if duplicated:
163
+            # using content with more text
164
+            if result_content_len(result.get('content', '')) >\
165
+                    result_content_len(duplicated.get('content', '')):
166
+                duplicated['content'] = result['content']
167
+
168
+            # add the new position
169
+            duplicated['positions'].append(position)
170
+
171
+            # add engine to list of result-engines
172
+            duplicated['engines'].append(result['engine'])
173
+
174
+            # using https if possible
175
+            if duplicated['parsed_url'].scheme != 'https' and result['parsed_url'].scheme == 'https':
176
+                duplicated['url'] = result['parsed_url'].geturl()
177
+                duplicated['parsed_url'] = result['parsed_url']
178
+
179
+        # if there is no duplicate found, append result
180
+        else:
181
+            result['positions'] = [position]
182
+            with RLock():
183
+                self._merged_results.append(result)
184
+
185
+    def get_ordered_results(self):
186
+        for result in self._merged_results:
187
+            score = result_score(result)
188
+            result['score'] = score
189
+            with RLock():
190
+                for result_engine in result['engines']:
191
+                    engines[result_engine].stats['score_count'] += score
192
+
193
+        results = sorted(self._merged_results, key=itemgetter('score'), reverse=True)
194
+
195
+        # pass 2 : group results by category and template
196
+        gresults = []
197
+        categoryPositions = {}
198
+
199
+        for i, res in enumerate(results):
200
+            # FIXME : handle more than one category per engine
201
+            category = engines[res['engine']].categories[0] + ':' + ''\
202
+                if 'template' not in res\
203
+                else res['template']
204
+
205
+            current = None if category not in categoryPositions\
206
+                else categoryPositions[category]
207
+
208
+            # group with previous results using the same category
209
+            # if the group can accept more result and is not too far
210
+            # from the current position
211
+            if current is not None and (current['count'] > 0)\
212
+                    and (len(gresults) - current['index'] < 20):
213
+                # group with the previous results using
214
+                # the same category with this one
215
+                index = current['index']
216
+                gresults.insert(index, res)
217
+
218
+                # update every index after the current one
219
+                # (including the current one)
220
+                for k in categoryPositions:
221
+                    v = categoryPositions[k]['index']
222
+                    if v >= index:
223
+                        categoryPositions[k]['index'] = v + 1
224
+
225
+                # update this category
226
+                current['count'] -= 1
227
+
228
+            else:
229
+                # same category
230
+                gresults.append(res)
231
+
232
+                # update categoryIndex
233
+                categoryPositions[category] = {'index': len(gresults), 'count': 8}
234
+
235
+        # return gresults
236
+        return gresults
237
+
238
+    def results_length(self):
239
+        return len(self._merged_results)

+ 26
- 258
searx/search.py 파일 보기

16
 '''
16
 '''
17
 
17
 
18
 import threading
18
 import threading
19
-import re
20
 import searx.poolrequests as requests_lib
19
 import searx.poolrequests as requests_lib
21
-from itertools import izip_longest, chain
22
-from operator import itemgetter
23
-from Queue import Queue
24
 from time import time
20
 from time import time
25
-from urlparse import urlparse, unquote
21
+from searx import settings
26
 from searx.engines import (
22
 from searx.engines import (
27
     categories, engines
23
     categories, engines
28
 )
24
 )
29
 from searx.languages import language_codes
25
 from searx.languages import language_codes
30
 from searx.utils import gen_useragent, get_blocked_engines
26
 from searx.utils import gen_useragent, get_blocked_engines
31
 from searx.query import Query
27
 from searx.query import Query
28
+from searx.results import ResultContainer
32
 from searx import logger
29
 from searx import logger
33
 
30
 
34
 logger = logger.getChild('search')
31
 logger = logger.getChild('search')
41
         return fn(url, **kwargs)
38
         return fn(url, **kwargs)
42
     except:
39
     except:
43
         # increase errors stats
40
         # increase errors stats
44
-        engines[engine_name].stats['errors'] += 1
41
+        with threading.RLock():
42
+            engines[engine_name].stats['errors'] += 1
45
 
43
 
46
         # print engine name and specific error message
44
         # print engine name and specific error message
47
         logger.exception('engine crash: {0}'.format(engine_name))
45
         logger.exception('engine crash: {0}'.format(engine_name))
83
 
81
 
84
 
82
 
85
 # create a callback wrapper for the search engine results
83
 # create a callback wrapper for the search engine results
86
-def make_callback(engine_name, results_queue, callback, params):
84
+def make_callback(engine_name, callback, params, result_container):
87
 
85
 
88
     # creating a callback wrapper for the search engine results
86
     # creating a callback wrapper for the search engine results
89
     def process_callback(response, **kwargs):
87
     def process_callback(response, **kwargs):
95
 
93
 
96
         response.search_params = params
94
         response.search_params = params
97
 
95
 
98
-        timeout_overhead = 0.2  # seconds
99
         search_duration = time() - params['started']
96
         search_duration = time() - params['started']
97
+        # update stats with current page-load-time
98
+        with threading.RLock():
99
+            engines[engine_name].stats['page_load_time'] += search_duration
100
+
101
+        timeout_overhead = 0.2  # seconds
100
         timeout_limit = engines[engine_name].timeout + timeout_overhead
102
         timeout_limit = engines[engine_name].timeout + timeout_overhead
103
+
101
         if search_duration > timeout_limit:
104
         if search_duration > timeout_limit:
102
-            engines[engine_name].stats['page_load_time'] += timeout_limit
103
-            engines[engine_name].stats['errors'] += 1
105
+            with threading.RLock():
106
+                engines[engine_name].stats['errors'] += 1
104
             return
107
             return
105
 
108
 
106
         # callback
109
         # callback
110
         for result in search_results:
113
         for result in search_results:
111
             result['engine'] = engine_name
114
             result['engine'] = engine_name
112
 
115
 
113
-        results_queue.put_nowait((engine_name, search_results))
114
-
115
-        # update stats with current page-load-time
116
-        engines[engine_name].stats['page_load_time'] += search_duration
116
+        result_container.extend(engine_name, search_results)
117
 
117
 
118
     return process_callback
118
     return process_callback
119
 
119
 
120
 
120
 
121
-# return the meaningful length of the content for a result
122
-def content_result_len(content):
123
-    if isinstance(content, basestring):
124
-        content = re.sub('[,;:!?\./\\\\ ()-_]', '', content)
125
-        return len(content)
126
-    else:
127
-        return 0
128
-
129
-
130
-# score results and remove duplications
131
-def score_results(results):
132
-    # calculate scoring parameters
133
-    flat_res = filter(
134
-        None, chain.from_iterable(izip_longest(*results.values())))
135
-    flat_len = len(flat_res)
136
-    engines_len = len(results)
137
-
138
-    results = []
139
-
140
-    # pass 1: deduplication + scoring
141
-    for i, res in enumerate(flat_res):
142
-
143
-        res['parsed_url'] = urlparse(res['url'])
144
-
145
-        res['host'] = res['parsed_url'].netloc
146
-
147
-        if res['host'].startswith('www.'):
148
-            res['host'] = res['host'].replace('www.', '', 1)
149
-
150
-        res['engines'] = [res['engine']]
151
-
152
-        weight = 1.0
153
-
154
-        # strip multiple spaces and cariage returns from content
155
-        if res.get('content'):
156
-            res['content'] = re.sub(' +', ' ',
157
-                                    res['content'].strip().replace('\n', ''))
158
-
159
-        # get weight of this engine if possible
160
-        if hasattr(engines[res['engine']], 'weight'):
161
-            weight = float(engines[res['engine']].weight)
162
-
163
-        # calculate score for that engine
164
-        score = int((flat_len - i) / engines_len) * weight + 1
165
-
166
-        # check for duplicates
167
-        duplicated = False
168
-        for new_res in results:
169
-            # remove / from the end of the url if required
170
-            p1 = res['parsed_url'].path[:-1]\
171
-                if res['parsed_url'].path.endswith('/')\
172
-                else res['parsed_url'].path
173
-            p2 = new_res['parsed_url'].path[:-1]\
174
-                if new_res['parsed_url'].path.endswith('/')\
175
-                else new_res['parsed_url'].path
176
-
177
-            # check if that result is a duplicate
178
-            if res['host'] == new_res['host'] and\
179
-               unquote(p1) == unquote(p2) and\
180
-               res['parsed_url'].query == new_res['parsed_url'].query and\
181
-               res.get('template') == new_res.get('template'):
182
-                duplicated = new_res
183
-                break
184
-
185
-        # merge duplicates together
186
-        if duplicated:
187
-            # using content with more text
188
-            if content_result_len(res.get('content', '')) >\
189
-                    content_result_len(duplicated.get('content', '')):
190
-                duplicated['content'] = res['content']
191
-
192
-            # increase result-score
193
-            duplicated['score'] += score
194
-
195
-            # add engine to list of result-engines
196
-            duplicated['engines'].append(res['engine'])
197
-
198
-            # using https if possible
199
-            if duplicated['parsed_url'].scheme == 'https':
200
-                continue
201
-            elif res['parsed_url'].scheme == 'https':
202
-                duplicated['url'] = res['parsed_url'].geturl()
203
-                duplicated['parsed_url'] = res['parsed_url']
204
-
205
-        # if there is no duplicate found, append result
206
-        else:
207
-            res['score'] = score
208
-            results.append(res)
209
-
210
-    results = sorted(results, key=itemgetter('score'), reverse=True)
211
-
212
-    # pass 2 : group results by category and template
213
-    gresults = []
214
-    categoryPositions = {}
215
-
216
-    for i, res in enumerate(results):
217
-        # FIXME : handle more than one category per engine
218
-        category = engines[res['engine']].categories[0] + ':' + ''\
219
-            if 'template' not in res\
220
-            else res['template']
221
-
222
-        current = None if category not in categoryPositions\
223
-            else categoryPositions[category]
224
-
225
-        # group with previous results using the same category
226
-        # if the group can accept more result and is not too far
227
-        # from the current position
228
-        if current is not None and (current['count'] > 0)\
229
-                and (len(gresults) - current['index'] < 20):
230
-            # group with the previous results using
231
-            # the same category with this one
232
-            index = current['index']
233
-            gresults.insert(index, res)
234
-
235
-            # update every index after the current one
236
-            # (including the current one)
237
-            for k in categoryPositions:
238
-                v = categoryPositions[k]['index']
239
-                if v >= index:
240
-                    categoryPositions[k]['index'] = v + 1
241
-
242
-            # update this category
243
-            current['count'] -= 1
244
-
245
-        else:
246
-            # same category
247
-            gresults.append(res)
248
-
249
-            # update categoryIndex
250
-            categoryPositions[category] = {'index': len(gresults), 'count': 8}
251
-
252
-    # return gresults
253
-    return gresults
254
-
255
-
256
-def merge_two_infoboxes(infobox1, infobox2):
257
-    if 'urls' in infobox2:
258
-        urls1 = infobox1.get('urls', None)
259
-        if urls1 is None:
260
-            urls1 = []
261
-            infobox1.set('urls', urls1)
262
-
263
-        urlSet = set()
264
-        for url in infobox1.get('urls', []):
265
-            urlSet.add(url.get('url', None))
266
-
267
-        for url in infobox2.get('urls', []):
268
-            if url.get('url', None) not in urlSet:
269
-                urls1.append(url)
270
-
271
-    if 'attributes' in infobox2:
272
-        attributes1 = infobox1.get('attributes', None)
273
-        if attributes1 is None:
274
-            attributes1 = []
275
-            infobox1.set('attributes', attributes1)
276
-
277
-        attributeSet = set()
278
-        for attribute in infobox1.get('attributes', []):
279
-            if attribute.get('label', None) not in attributeSet:
280
-                attributeSet.add(attribute.get('label', None))
281
-
282
-        for attribute in infobox2.get('attributes', []):
283
-            attributes1.append(attribute)
284
-
285
-    if 'content' in infobox2:
286
-        content1 = infobox1.get('content', None)
287
-        content2 = infobox2.get('content', '')
288
-        if content1 is not None:
289
-            if content_result_len(content2) > content_result_len(content1):
290
-                infobox1['content'] = content2
291
-        else:
292
-            infobox1.set('content', content2)
293
-
294
-
295
-def merge_infoboxes(infoboxes):
296
-    results = []
297
-    infoboxes_id = {}
298
-    for infobox in infoboxes:
299
-        add_infobox = True
300
-        infobox_id = infobox.get('id', None)
301
-        if infobox_id is not None:
302
-            existingIndex = infoboxes_id.get(infobox_id, None)
303
-            if existingIndex is not None:
304
-                merge_two_infoboxes(results[existingIndex], infobox)
305
-                add_infobox = False
306
-
307
-        if add_infobox:
308
-            results.append(infobox)
309
-            infoboxes_id[infobox_id] = len(results) - 1
310
-
311
-    return results
312
-
313
-
314
 class Search(object):
121
 class Search(object):
315
 
122
 
316
     """Search information container"""
123
     """Search information container"""
328
         # set blocked engines
135
         # set blocked engines
329
         self.blocked_engines = get_blocked_engines(engines, request.cookies)
136
         self.blocked_engines = get_blocked_engines(engines, request.cookies)
330
 
137
 
331
-        self.results = []
332
-        self.suggestions = set()
333
-        self.answers = set()
334
-        self.infoboxes = []
138
+        self.result_container = ResultContainer()
335
         self.request_data = {}
139
         self.request_data = {}
336
 
140
 
337
         # set specific language if set
141
         # set specific language if set
386
             load_default_categories = True
190
             load_default_categories = True
387
             for pd_name, pd in self.request_data.items():
191
             for pd_name, pd in self.request_data.items():
388
                 if pd_name == 'categories':
192
                 if pd_name == 'categories':
389
-                    self.categories.extend(categ.strip() for categ in pd.split(',') if categ in categories)
193
+                    self.categories.extend(categ for categ in map(unicode.strip, pd.split(',')) if categ in categories)
390
                 elif pd_name == 'engines':
194
                 elif pd_name == 'engines':
391
                     pd_engines = [{'category': engines[engine].categories[0],
195
                     pd_engines = [{'category': engines[engine].categories[0],
392
                                    'name': engine}
196
                                    'name': engine}
393
-                                  for engine in map(str.strip, pd.split(',')) if engine in engines]
197
+                                  for engine in map(unicode.strip, pd.split(',')) if engine in engines]
394
                     if pd_engines:
198
                     if pd_engines:
395
                         self.engines.extend(pd_engines)
199
                         self.engines.extend(pd_engines)
396
                         load_default_categories = False
200
                         load_default_categories = False
409
                         self.categories.remove(category)
213
                         self.categories.remove(category)
410
 
214
 
411
             if not load_default_categories:
215
             if not load_default_categories:
216
+                if not self.categories:
217
+                    self.categories = list(set(engine['category']
218
+                                               for engine in self.engines))
412
                 return
219
                 return
413
 
220
 
414
             # if no category is specified for this search,
221
             # if no category is specified for this search,
440
 
247
 
441
         # init vars
248
         # init vars
442
         requests = []
249
         requests = []
443
-        results_queue = Queue()
444
-        results = {}
445
 
250
 
446
         # increase number of searches
251
         # increase number of searches
447
         number_of_searches += 1
252
         number_of_searches += 1
473
             request_params['started'] = time()
278
             request_params['started'] = time()
474
             request_params['pageno'] = self.pageno
279
             request_params['pageno'] = self.pageno
475
 
280
 
476
-            if hasattr(engine, 'language'):
281
+            if hasattr(engine, 'language') and engine.language:
477
                 request_params['language'] = engine.language
282
                 request_params['language'] = engine.language
478
             else:
283
             else:
479
                 request_params['language'] = self.lang
284
                 request_params['language'] = self.lang
480
 
285
 
481
             try:
286
             try:
482
                 # 0 = None, 1 = Moderate, 2 = Strict
287
                 # 0 = None, 1 = Moderate, 2 = Strict
483
-                request_params['safesearch'] = int(request.cookies.get('safesearch', 1))
484
-            except ValueError:
485
-                request_params['safesearch'] = 1
288
+                request_params['safesearch'] = int(request.cookies.get('safesearch'))
289
+            except Exception:
290
+                request_params['safesearch'] = settings['search']['safe_search']
486
 
291
 
487
             # update request parameters dependent on
292
             # update request parameters dependent on
488
             # search-engine (contained in engines folder)
293
             # search-engine (contained in engines folder)
495
             # create a callback wrapper for the search engine results
300
             # create a callback wrapper for the search engine results
496
             callback = make_callback(
301
             callback = make_callback(
497
                 selected_engine['name'],
302
                 selected_engine['name'],
498
-                results_queue,
499
                 engine.response,
303
                 engine.response,
500
-                request_params)
304
+                request_params,
305
+                self.result_container)
501
 
306
 
502
             # create dictionary which contain all
307
             # create dictionary which contain all
503
             # informations about the request
308
             # informations about the request
530
         # send all search-request
335
         # send all search-request
531
         threaded_requests(requests)
336
         threaded_requests(requests)
532
 
337
 
533
-        while not results_queue.empty():
534
-            engine_name, engine_results = results_queue.get_nowait()
535
-
536
-            # TODO type checks
537
-            [self.suggestions.add(x['suggestion'])
538
-             for x in list(engine_results)
539
-             if 'suggestion' in x
540
-             and engine_results.remove(x) is None]
541
-
542
-            [self.answers.add(x['answer'])
543
-             for x in list(engine_results)
544
-             if 'answer' in x
545
-             and engine_results.remove(x) is None]
546
-
547
-            self.infoboxes.extend(x for x in list(engine_results)
548
-                                  if 'infobox' in x
549
-                                  and engine_results.remove(x) is None)
550
-
551
-            results[engine_name] = engine_results
552
-
553
-        # update engine-specific stats
554
-        for engine_name, engine_results in results.items():
555
-            engines[engine_name].stats['search_count'] += 1
556
-            engines[engine_name].stats['result_count'] += len(engine_results)
557
-
558
-        # score results and remove duplications
559
-        self.results = score_results(results)
560
-
561
-        # merge infoboxes according to their ids
562
-        self.infoboxes = merge_infoboxes(self.infoboxes)
563
-
564
-        # update engine stats, using calculated score
565
-        for result in self.results:
566
-            for res_engine in result['engines']:
567
-                engines[result['engine']]\
568
-                    .stats['score_count'] += result['score']
569
-
570
         # return results, suggestions, answers and infoboxes
338
         # return results, suggestions, answers and infoboxes
571
         return self
339
         return self

+ 27
- 12
searx/settings.yml 파일 보기

1
+general:
2
+    debug : False # Debug mode, only for development
3
+
4
+search:
5
+    safe_search : 0 # Filter results. 0: None, 1: Moderate, 2: Strict
6
+    autocomplete : "" # Existing autocomplete backends: "dbpedia", "duckduckgo", "google", "startpage", "wikipedia" - leave blank to turn it off by default
7
+
1
 server:
8
 server:
2
     port : 8888
9
     port : 8888
10
+    bind_address : "127.0.0.1" # address to listen on
3
     secret_key : "ultrasecretkey" # change this!
11
     secret_key : "ultrasecretkey" # change this!
4
-    debug : False # Debug mode, only for development
5
-    request_timeout : 2.0 # seconds
6
     base_url : False # Set custom base_url. Possible values: False or "https://your.custom.host/location/"
12
     base_url : False # Set custom base_url. Possible values: False or "https://your.custom.host/location/"
13
+    image_proxy : False # Proxying image results through searx
14
+
15
+ui:
7
     themes_path : "" # Custom ui themes path - leave it blank if you didn't change
16
     themes_path : "" # Custom ui themes path - leave it blank if you didn't change
8
     default_theme : oscar # ui theme
17
     default_theme : oscar # ui theme
9
-    useragent_suffix : "" # suffix of searx_useragent, could contain informations like an email address to the administrator
10
-    image_proxy : False # Proxying image results through searx
11
     default_locale : "" # Default interface locale - leave blank to detect from browser information or use codes from the 'locales' config section
18
     default_locale : "" # Default interface locale - leave blank to detect from browser information or use codes from the 'locales' config section
12
 
19
 
20
+outgoing: # communication with search engines
21
+    request_timeout : 2.0 # seconds
22
+    useragent_suffix : "" # suffix of searx_useragent, could contain informations like an email address to the administrator
13
 # uncomment below section if you want to use a proxy
23
 # uncomment below section if you want to use a proxy
14
 # see http://docs.python-requests.org/en/latest/user/advanced/#proxies
24
 # see http://docs.python-requests.org/en/latest/user/advanced/#proxies
15
 # SOCKS proxies are not supported : see https://github.com/kennethreitz/requests/pull/478
25
 # SOCKS proxies are not supported : see https://github.com/kennethreitz/requests/pull/478
16
-#outgoing_proxies :
17
-#    http : http://127.0.0.1:8080
18
-#    https: http://127.0.0.1:8080
19
-
26
+#    proxies :
27
+#        http : http://127.0.0.1:8080
28
+#        https: http://127.0.0.1:8080
20
 # uncomment below section only if you have more than one network interface
29
 # uncomment below section only if you have more than one network interface
21
 # which can be the source of outgoing search requests
30
 # which can be the source of outgoing search requests
22
-#source_ips:
23
-#  - 1.1.1.1
24
-#  - 1.1.1.2
31
+#    source_ips:
32
+#        - 1.1.1.1
33
+#        - 1.1.1.2
25
 
34
 
26
 engines:
35
 engines:
27
   - name : wikipedia
36
   - name : wikipedia
265
     engine : yahoo
274
     engine : yahoo
266
     shortcut : yh
275
     shortcut : yh
267
 
276
 
277
+  - name : yandex
278
+    engine : yandex
279
+    shortcut : yn
280
+    disabled : True
281
+
268
   - name : yahoo news
282
   - name : yahoo news
269
     engine : yahoo_news
283
     engine : yahoo_news
270
     shortcut : yhn
284
     shortcut : yhn
310
     nl : Nederlands
324
     nl : Nederlands
311
     ja : 日本語 (Japanese)
325
     ja : 日本語 (Japanese)
312
     tr : Türkçe
326
     tr : Türkçe
313
-    pt: Português
327
+    pt : Português
314
     ru : Russian
328
     ru : Russian
315
     ro : Romanian
329
     ro : Romanian
330
+    zh : 中文 (Chinese)

+ 17
- 5
searx/settings_robot.yml 파일 보기

1
+general:
2
+    debug : False
3
+
4
+search:
5
+    safe_search : 0
6
+    autocomplete : 0
7
+
1
 server:
8
 server:
2
     port : 11111
9
     port : 11111
10
+    bind_address : 127.0.0.1
3
     secret_key : "ultrasecretkey" # change this!
11
     secret_key : "ultrasecretkey" # change this!
4
-    debug : False
5
-    request_timeout : 3.0 # seconds
6
-    base_url: False
12
+    base_url : False
13
+    image_proxy : False
14
+
15
+ui:
7
     themes_path : ""
16
     themes_path : ""
8
     default_theme : default
17
     default_theme : default
9
-    https_rewrite : True
10
-    image_proxy : False
18
+    default_locale : ""
19
+
20
+outgoing:
21
+    request_timeout : 1.0 # seconds
22
+    useragent_suffix : ""
11
 
23
 
12
 engines:
24
 engines:
13
   - name : general_dummy
25
   - name : general_dummy

+ 88
- 1
searx/static/themes/oscar/css/oscar.min.css 파일 보기

1
-html{position:relative;min-height:100%}body{margin-bottom:80px}.footer{position:absolute;bottom:0;width:100%;height:60px}input[type=checkbox]:checked+.label_hide_if_checked,input[type=checkbox]:checked+.label_hide_if_not_checked+.label_hide_if_checked{display:none}input[type=checkbox]:not(:checked)+.label_hide_if_not_checked,input[type=checkbox]:not(:checked)+.label_hide_if_checked+.label_hide_if_not_checked{display:none}.result_header{margin-bottom:5px;margin-top:20px}.result_header .favicon{margin-bottom:-3px}.result_header a{vertical-align:bottom}.result_header a .highlight{font-weight:bold}.result-content{margin-top:5px;word-wrap:break-word}.result-content .highlight{font-weight:bold}.result-default{clear:both}.result-images{float:left !important}.img-thumbnail{margin:5px;max-height:128px;min-height:128px}.result-videos{clear:both}.result-torrents{clear:both}.result-map{clear:both}.result-code{clear:both}.suggestion_item{margin:2px 5px}.result_download{margin-right:5px}#pagination{margin-top:30px;padding-bottom:50px}.infobox .infobox_part{margin-bottom:20px;word-wrap:break-word}.infobox .infobox_part:last-child{margin-bottom:0}.search_categories{margin:10px 0;text-transform:capitalize}.cursor-text{cursor:text !important}.cursor-pointer{cursor:pointer !important}.highlight .hll{background-color:#ffc}.highlight{background:#f8f8f8}.highlight .c{color:#408080;font-style:italic}.highlight .err{border:1px solid #f00}.highlight .k{color:#008000;font-weight:bold}.highlight .o{color:#666}.highlight .cm{color:#408080;font-style:italic}.highlight .cp{color:#bc7a00}.highlight .c1{color:#408080;font-style:italic}.highlight .cs{color:#408080;font-style:italic}.highlight .gd{color:#a00000}.highlight .ge{font-style:italic}.highlight .gr{color:#f00}.highlight .gh{color:#000080;font-weight:bold}.highlight .gi{color:#00a000}.highlight .go{color:#888}.highlight .gp{color:#000080;font-weight:bold}.highlight .gs{font-weight:bold}.highlight .gu{color:#800080;font-weight:bold}.highlight .gt{color:#04d}.highlight .kc{color:#008000;font-weight:bold}.highlight .kd{color:#008000;font-weight:bold}.highlight .kn{color:#008000;font-weight:bold}.highlight .kp{color:#008000}.highlight .kr{color:#008000;font-weight:bold}.highlight .kt{color:#b00040}.highlight .m{color:#666}.highlight .s{color:#ba2121}.highlight .na{color:#7d9029}.highlight .nb{color:#008000}.highlight .nc{color:#00f;font-weight:bold}.highlight .no{color:#800}.highlight .nd{color:#a2f}.highlight .ni{color:#999;font-weight:bold}.highlight .ne{color:#d2413a;font-weight:bold}.highlight .nf{color:#00f}.highlight .nl{color:#a0a000}.highlight .nn{color:#00f;font-weight:bold}.highlight .nt{color:#008000;font-weight:bold}.highlight .nv{color:#19177c}.highlight .ow{color:#a2f;font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#666}.highlight .mh{color:#666}.highlight .mi{color:#666}.highlight .mo{color:#666}.highlight .sb{color:#ba2121}.highlight .sc{color:#ba2121}.highlight .sd{color:#ba2121;font-style:italic}.highlight .s2{color:#ba2121}.highlight .se{color:#b62;font-weight:bold}.highlight .sh{color:#ba2121}.highlight .si{color:#b68;font-weight:bold}.highlight .sx{color:#008000}.highlight .sr{color:#b68}.highlight .s1{color:#ba2121}.highlight .ss{color:#19177c}.highlight .bp{color:#008000}.highlight .vc{color:#19177c}.highlight .vg{color:#19177c}.highlight .vi{color:#19177c}.highlight .il{color:#666}.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.highlight .lineno::selection{background:transparent}.highlight .lineno::-moz-selection{background:transparent}
1
+html{position:relative;min-height:100%}
2
+body{margin-bottom:80px}
3
+.footer{position:absolute;bottom:0;width:100%;height:60px}
4
+input[type=checkbox]:checked+.label_hide_if_checked,input[type=checkbox]:checked+.label_hide_if_not_checked+.label_hide_if_checked{display:none}
5
+input[type=checkbox]:not(:checked)+.label_hide_if_not_checked,input[type=checkbox]:not(:checked)+.label_hide_if_checked+.label_hide_if_not_checked{display:none}
6
+.result_header{margin-bottom:5px;margin-top:20px}.result_header .favicon{margin-bottom:-3px}
7
+.result_header a{vertical-align:bottom}.result_header a .highlight{font-weight:bold}
8
+.result-content{margin-top:5px;word-wrap:break-word}.result-content .highlight{font-weight:bold}
9
+.result-default{clear:both}
10
+.result-images{float:left !important}
11
+.img-thumbnail{margin:5px;max-height:128px;min-height:128px}
12
+.result-videos{clear:both}
13
+.result-torrents{clear:both}
14
+.result-map{clear:both}
15
+.result-code{clear:both}
16
+.suggestion_item{margin:2px 5px}
17
+.result_download{margin-right:5px}
18
+#pagination{margin-top:30px;padding-bottom:50px}
19
+.label-default{color:#aaa;background:#fff}
20
+.infobox .infobox_part{margin-bottom:20px;word-wrap:break-word}
21
+.infobox .infobox_part:last-child{margin-bottom:0}
22
+.search_categories{margin:10px 0;text-transform:capitalize}
23
+.cursor-text{cursor:text !important}
24
+.cursor-pointer{cursor:pointer !important}
25
+.highlight .hll{background-color:#ffc}
26
+.highlight{background:#f8f8f8}
27
+.highlight .c{color:#408080;font-style:italic}
28
+.highlight .err{border:1px solid #f00}
29
+.highlight .k{color:#008000;font-weight:bold}
30
+.highlight .o{color:#666}
31
+.highlight .cm{color:#408080;font-style:italic}
32
+.highlight .cp{color:#bc7a00}
33
+.highlight .c1{color:#408080;font-style:italic}
34
+.highlight .cs{color:#408080;font-style:italic}
35
+.highlight .gd{color:#a00000}
36
+.highlight .ge{font-style:italic}
37
+.highlight .gr{color:#f00}
38
+.highlight .gh{color:#000080;font-weight:bold}
39
+.highlight .gi{color:#00a000}
40
+.highlight .go{color:#888}
41
+.highlight .gp{color:#000080;font-weight:bold}
42
+.highlight .gs{font-weight:bold}
43
+.highlight .gu{color:#800080;font-weight:bold}
44
+.highlight .gt{color:#04d}
45
+.highlight .kc{color:#008000;font-weight:bold}
46
+.highlight .kd{color:#008000;font-weight:bold}
47
+.highlight .kn{color:#008000;font-weight:bold}
48
+.highlight .kp{color:#008000}
49
+.highlight .kr{color:#008000;font-weight:bold}
50
+.highlight .kt{color:#b00040}
51
+.highlight .m{color:#666}
52
+.highlight .s{color:#ba2121}
53
+.highlight .na{color:#7d9029}
54
+.highlight .nb{color:#008000}
55
+.highlight .nc{color:#00f;font-weight:bold}
56
+.highlight .no{color:#800}
57
+.highlight .nd{color:#a2f}
58
+.highlight .ni{color:#999;font-weight:bold}
59
+.highlight .ne{color:#d2413a;font-weight:bold}
60
+.highlight .nf{color:#00f}
61
+.highlight .nl{color:#a0a000}
62
+.highlight .nn{color:#00f;font-weight:bold}
63
+.highlight .nt{color:#008000;font-weight:bold}
64
+.highlight .nv{color:#19177c}
65
+.highlight .ow{color:#a2f;font-weight:bold}
66
+.highlight .w{color:#bbb}
67
+.highlight .mf{color:#666}
68
+.highlight .mh{color:#666}
69
+.highlight .mi{color:#666}
70
+.highlight .mo{color:#666}
71
+.highlight .sb{color:#ba2121}
72
+.highlight .sc{color:#ba2121}
73
+.highlight .sd{color:#ba2121;font-style:italic}
74
+.highlight .s2{color:#ba2121}
75
+.highlight .se{color:#b62;font-weight:bold}
76
+.highlight .sh{color:#ba2121}
77
+.highlight .si{color:#b68;font-weight:bold}
78
+.highlight .sx{color:#008000}
79
+.highlight .sr{color:#b68}
80
+.highlight .s1{color:#ba2121}
81
+.highlight .ss{color:#19177c}
82
+.highlight .bp{color:#008000}
83
+.highlight .vc{color:#19177c}
84
+.highlight .vg{color:#19177c}
85
+.highlight .vi{color:#19177c}
86
+.highlight .il{color:#666}
87
+.highlight .lineno{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.highlight .lineno::selection{background:transparent;}
88
+.highlight .lineno::-moz-selection{background:transparent;}

+ 5
- 0
searx/static/themes/oscar/less/oscar/results.less 파일 보기

76
     margin-top: 30px;
76
     margin-top: 30px;
77
     padding-bottom: 50px;
77
     padding-bottom: 50px;
78
 }
78
 }
79
+
80
+.label-default {
81
+    color: #AAA;
82
+    background: #FFF;
83
+}

+ 1
- 0
searx/templates/courgette/opensearch.xml 파일 보기

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

+ 1
- 0
searx/templates/default/opensearch.xml 파일 보기

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

+ 5
- 1
searx/templates/oscar/macros.html 파일 보기

25
 <!-- Draw result footer -->
25
 <!-- Draw result footer -->
26
 {% macro result_footer(result) -%}
26
 {% macro result_footer(result) -%}
27
     <div class="clearfix"></div>
27
     <div class="clearfix"></div>
28
-    <span class="label label-default pull-right">{{ result.engine }}</span>
28
+    <div class="pull-right">
29
+    {% for engine in result.engines %}
30
+        <span class="label label-default">{{ engine }}</span>
31
+    {% endfor %}
32
+</div>
29
     <p class="text-muted">{{ result.pretty_url }}</p>
33
     <p class="text-muted">{{ result.pretty_url }}</p>
30
 {%- endmacro %}
34
 {%- endmacro %}
31
 
35
 

+ 1
- 0
searx/templates/oscar/opensearch.xml 파일 보기

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

+ 2
- 2
searx/templates/pix-art/preferences.html 파일 보기

53
             <th>{{ _('Engine name') }}</th>
53
             <th>{{ _('Engine name') }}</th>
54
             <th>{{ _('Allow') }} / {{ _('Block') }}</th>
54
             <th>{{ _('Allow') }} / {{ _('Block') }}</th>
55
         </tr>
55
         </tr>
56
-    {% for (categ,search_engines) in categs %}
57
-        {% for search_engine in search_engines %}
56
+    {% for categ in all_categories %}
57
+        {% for search_engine in engines_by_category[categ] %}
58
 
58
 
59
             {% if not search_engine.private %}
59
             {% if not search_engine.private %}
60
             <tr>
60
             <tr>

+ 4
- 4
searx/tests/engines/test_bing.py 파일 보기

29
         self.assertRaises(AttributeError, bing.response, '')
29
         self.assertRaises(AttributeError, bing.response, '')
30
         self.assertRaises(AttributeError, bing.response, '[]')
30
         self.assertRaises(AttributeError, bing.response, '[]')
31
 
31
 
32
-        response = mock.Mock(content='<html></html>')
32
+        response = mock.Mock(text='<html></html>')
33
         self.assertEqual(bing.response(response), [])
33
         self.assertEqual(bing.response(response), [])
34
 
34
 
35
-        response = mock.Mock(content='<html></html>')
35
+        response = mock.Mock(text='<html></html>')
36
         self.assertEqual(bing.response(response), [])
36
         self.assertEqual(bing.response(response), [])
37
 
37
 
38
         html = """
38
         html = """
54
             </div>
54
             </div>
55
         </div>
55
         </div>
56
         """
56
         """
57
-        response = mock.Mock(content=html)
57
+        response = mock.Mock(text=html)
58
         results = bing.response(response)
58
         results = bing.response(response)
59
         self.assertEqual(type(results), list)
59
         self.assertEqual(type(results), list)
60
         self.assertEqual(len(results), 1)
60
         self.assertEqual(len(results), 1)
81
             </div>
81
             </div>
82
         </li>
82
         </li>
83
         """
83
         """
84
-        response = mock.Mock(content=html)
84
+        response = mock.Mock(text=html)
85
         results = bing.response(response)
85
         results = bing.response(response)
86
         self.assertEqual(type(results), list)
86
         self.assertEqual(type(results), list)
87
         self.assertEqual(len(results), 1)
87
         self.assertEqual(len(results), 1)

+ 5
- 5
searx/tests/engines/test_bing_images.py 파일 보기

31
         self.assertRaises(AttributeError, bing_images.response, '')
31
         self.assertRaises(AttributeError, bing_images.response, '')
32
         self.assertRaises(AttributeError, bing_images.response, '[]')
32
         self.assertRaises(AttributeError, bing_images.response, '[]')
33
 
33
 
34
-        response = mock.Mock(content='<html></html>')
34
+        response = mock.Mock(text='<html></html>')
35
         self.assertEqual(bing_images.response(response), [])
35
         self.assertEqual(bing_images.response(response), [])
36
 
36
 
37
-        response = mock.Mock(content='<html></html>')
37
+        response = mock.Mock(text='<html></html>')
38
         self.assertEqual(bing_images.response(response), [])
38
         self.assertEqual(bing_images.response(response), [])
39
 
39
 
40
         html = """
40
         html = """
52
         </div>
52
         </div>
53
         """
53
         """
54
         html = html.replace('\r\n', '').replace('\n', '').replace('\r', '')
54
         html = html.replace('\r\n', '').replace('\n', '').replace('\r', '')
55
-        response = mock.Mock(content=html)
55
+        response = mock.Mock(text=html)
56
         results = bing_images.response(response)
56
         results = bing_images.response(response)
57
         self.assertEqual(type(results), list)
57
         self.assertEqual(type(results), list)
58
         self.assertEqual(len(results), 1)
58
         self.assertEqual(len(results), 1)
75
             style="height:144px;" width="178" height="144"/>
75
             style="height:144px;" width="178" height="144"/>
76
         </a>
76
         </a>
77
         """
77
         """
78
-        response = mock.Mock(content=html)
78
+        response = mock.Mock(text=html)
79
         results = bing_images.response(response)
79
         results = bing_images.response(response)
80
         self.assertEqual(type(results), list)
80
         self.assertEqual(type(results), list)
81
         self.assertEqual(len(results), 0)
81
         self.assertEqual(len(results), 0)
263
         </div>
263
         </div>
264
         """
264
         """
265
         html = html.replace('\r\n', '').replace('\n', '').replace('\r', '')
265
         html = html.replace('\r\n', '').replace('\n', '').replace('\r', '')
266
-        response = mock.Mock(content=html)
266
+        response = mock.Mock(text=html)
267
         results = bing_images.response(response)
267
         results = bing_images.response(response)
268
         self.assertEqual(type(results), list)
268
         self.assertEqual(type(results), list)
269
         self.assertEqual(len(results), 10)
269
         self.assertEqual(len(results), 10)

+ 4
- 3
searx/tests/engines/test_duckduckgo.py 파일 보기

1
+# -*- coding: utf-8 -*-
1
 from collections import defaultdict
2
 from collections import defaultdict
2
 import mock
3
 import mock
3
 from searx.engines import duckduckgo
4
 from searx.engines import duckduckgo
30
         response = mock.Mock(text='<html></html>')
31
         response = mock.Mock(text='<html></html>')
31
         self.assertEqual(duckduckgo.response(response), [])
32
         self.assertEqual(duckduckgo.response(response), [])
32
 
33
 
33
-        html = """
34
+        html = u"""
34
         <div class="results_links results_links_deep web-result">
35
         <div class="results_links results_links_deep web-result">
35
             <div class="icon_fav" style="display: block;">
36
             <div class="icon_fav" style="display: block;">
36
                 <a rel="nofollow" href="https://www.test.com/">
37
                 <a rel="nofollow" href="https://www.test.com/">
39
                 </a>
40
                 </a>
40
             </div>
41
             </div>
41
             <div class="links_main links_deep"> <!-- This is the visible part -->
42
             <div class="links_main links_deep"> <!-- This is the visible part -->
42
-                <a rel="nofollow" class="large" href="http://this.should.be.the.link/">
43
+                <a rel="nofollow" class="large" href="http://this.should.be.the.link/ű">
43
                     This <b>is</b> <b>the</b> title
44
                     This <b>is</b> <b>the</b> title
44
                 </a>
45
                 </a>
45
                 <div class="snippet"><b>This</b> should be the content.</div>
46
                 <div class="snippet"><b>This</b> should be the content.</div>
54
         self.assertEqual(type(results), list)
55
         self.assertEqual(type(results), list)
55
         self.assertEqual(len(results), 1)
56
         self.assertEqual(len(results), 1)
56
         self.assertEqual(results[0]['title'], 'This is the title')
57
         self.assertEqual(results[0]['title'], 'This is the title')
57
-        self.assertEqual(results[0]['url'], 'http://this.should.be.the.link/')
58
+        self.assertEqual(results[0]['url'], u'http://this.should.be.the.link/ű')
58
         self.assertEqual(results[0]['content'], 'This should be the content.')
59
         self.assertEqual(results[0]['content'], 'This should be the content.')
59
 
60
 
60
         html = """
61
         html = """

+ 3
- 3
searx/tests/engines/test_piratebay.py 파일 보기

15
         params = piratebay.request(query, dicto)
15
         params = piratebay.request(query, dicto)
16
         self.assertIn('url', params)
16
         self.assertIn('url', params)
17
         self.assertIn(query, params['url'])
17
         self.assertIn(query, params['url'])
18
-        self.assertIn('piratebay.am', params['url'])
18
+        self.assertIn('piratebay.se', params['url'])
19
         self.assertIn('0', params['url'])
19
         self.assertIn('0', params['url'])
20
 
20
 
21
         dicto['category'] = 'music'
21
         dicto['category'] = 'music'
99
         self.assertEqual(type(results), list)
99
         self.assertEqual(type(results), list)
100
         self.assertEqual(len(results), 2)
100
         self.assertEqual(len(results), 2)
101
         self.assertEqual(results[0]['title'], 'This is the title')
101
         self.assertEqual(results[0]['title'], 'This is the title')
102
-        self.assertEqual(results[0]['url'], 'https://thepiratebay.am/this.is.the.link')
102
+        self.assertEqual(results[0]['url'], 'https://thepiratebay.se/this.is.the.link')
103
         self.assertEqual(results[0]['content'], 'This is the content and should be OK')
103
         self.assertEqual(results[0]['content'], 'This is the content and should be OK')
104
         self.assertEqual(results[0]['seed'], 13)
104
         self.assertEqual(results[0]['seed'], 13)
105
         self.assertEqual(results[0]['leech'], 334)
105
         self.assertEqual(results[0]['leech'], 334)
149
         self.assertEqual(type(results), list)
149
         self.assertEqual(type(results), list)
150
         self.assertEqual(len(results), 1)
150
         self.assertEqual(len(results), 1)
151
         self.assertEqual(results[0]['title'], 'This is the title')
151
         self.assertEqual(results[0]['title'], 'This is the title')
152
-        self.assertEqual(results[0]['url'], 'https://thepiratebay.am/this.is.the.link')
152
+        self.assertEqual(results[0]['url'], 'https://thepiratebay.se/this.is.the.link')
153
         self.assertEqual(results[0]['content'], 'This is the content and should be OK')
153
         self.assertEqual(results[0]['content'], 'This is the content and should be OK')
154
         self.assertEqual(results[0]['seed'], 0)
154
         self.assertEqual(results[0]['seed'], 0)
155
         self.assertEqual(results[0]['leech'], 0)
155
         self.assertEqual(results[0]['leech'], 0)

+ 3
- 3
searx/tests/engines/test_startpage.py 파일 보기

42
                 </a>
42
                 </a>
43
                 <span id='title_stars_2' name='title_stars_2'>  </span>
43
                 <span id='title_stars_2' name='title_stars_2'>  </span>
44
             </h3>
44
             </h3>
45
-            <p class='desc'>
45
+            <p class='desc clk'>
46
                 This should be the content.
46
                 This should be the content.
47
             </p>
47
             </p>
48
             <p>
48
             <p>
78
                 </a>
78
                 </a>
79
                 <span id='title_stars_2' name='title_stars_2'>  </span>
79
                 <span id='title_stars_2' name='title_stars_2'>  </span>
80
             </h3>
80
             </h3>
81
-            <p class='desc'>
81
+            <p class='desc clk'>
82
                 This should be the content.
82
                 This should be the content.
83
             </p>
83
             </p>
84
             <p>
84
             <p>
101
             <h3>
101
             <h3>
102
                 <span id='title_stars_2' name='title_stars_2'>  </span>
102
                 <span id='title_stars_2' name='title_stars_2'>  </span>
103
             </h3>
103
             </h3>
104
-            <p class='desc'>
104
+            <p class='desc clk'>
105
                 This should be the content.
105
                 This should be the content.
106
             </p>
106
             </p>
107
             <p>
107
             <p>

+ 0
- 204
searx/tests/engines/test_youtube.py 파일 보기

1
-from collections import defaultdict
2
-import mock
3
-from searx.engines import youtube
4
-from searx.testing import SearxTestCase
5
-
6
-
7
-class TestYoutubeEngine(SearxTestCase):
8
-
9
-    def test_request(self):
10
-        query = 'test_query'
11
-        dicto = defaultdict(dict)
12
-        dicto['pageno'] = 0
13
-        dicto['language'] = 'fr_FR'
14
-        params = youtube.request(query, dicto)
15
-        self.assertTrue('url' in params)
16
-        self.assertTrue(query in params['url'])
17
-        self.assertTrue('youtube.com' in params['url'])
18
-        self.assertTrue('fr' in params['url'])
19
-
20
-        dicto['language'] = 'all'
21
-        params = youtube.request(query, dicto)
22
-        self.assertFalse('fr' in params['url'])
23
-
24
-    def test_response(self):
25
-        self.assertRaises(AttributeError, youtube.response, None)
26
-        self.assertRaises(AttributeError, youtube.response, [])
27
-        self.assertRaises(AttributeError, youtube.response, '')
28
-        self.assertRaises(AttributeError, youtube.response, '[]')
29
-
30
-        response = mock.Mock(text='{}')
31
-        self.assertEqual(youtube.response(response), [])
32
-
33
-        response = mock.Mock(text='{"data": []}')
34
-        self.assertEqual(youtube.response(response), [])
35
-
36
-        json = """
37
-        {"feed":{"entry":[{
38
-            "id":{"$t":"http://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM"},
39
-            "published":{"$t":"2015-01-23T21:25:00.000Z"},
40
-            "updated":{"$t":"2015-01-26T14:38:15.000Z"},
41
-            "title":{"$t":"Title",
42
-                "type":"text"},"content":{"$t":"Description","type":"text"},
43
-            "link":[{"rel":"alternate","type":"text/html",
44
-                "href":"https://www.youtube.com/watch?v=DIVZCPfAOeM&feature=youtube_gdata"},
45
-                {"rel":"http://gdata.youtube.com/schemas/2007#video.related",
46
-                "type":"application/atom+xml",
47
-                "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM/related"},
48
-                {"rel":"http://gdata.youtube.com/schemas/2007#mobile","type":"text/html",
49
-                "href":"https://m.youtube.com/details?v=DIVZCPfAOeM"},
50
-                {"rel":"self","type":"application/atom+xml",
51
-                "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM"}],
52
-            "author":[{"name":{"$t":"Cauet"},
53
-                "uri":{"$t":"https://gdata.youtube.com/feeds/api/users/cauetofficiel"} }],
54
-            "gd$comments":{"gd$feedLink":{"rel":"http://gdata.youtube.com/schemas/2007#comments",
55
-                "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM/comments",
56
-                "countHint":8} },
57
-            "media$group":{"media$category":[{"$t":"Comedy","label":"Comedy",
58
-                "scheme":"http://gdata.youtube.com/schemas/2007/categories.cat"}],
59
-            "media$content":[{"url":"https://www.youtube.com/v/DIVZCPfAOeM?version=3&f=videos&app=youtube_gdata",
60
-                "type":"application/x-shockwave-flash","medium":"video",
61
-                "isDefault":"true","expression":"full","duration":354,"yt$format":5},
62
-    {"url":"rtsp://r1---sn-cg07luel.c.youtube.com/CiILENy73wIaGQnjOcD3CFmFDBMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp",
63
-                "type":"video/3gpp","medium":"video","expression":"full","duration":354,
64
-                "yt$format":1},
65
-    {"url":"rtsp://r1---sn-cg07luel.c.youtube.com/CiILENy73wIaGQnjOcD3CFmFDBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp",
66
-                "type":"video/3gpp","medium":"video","expression":"full","duration":354,"yt$format":6}],
67
-            "media$description":{"$t":"Desc","type":"plain"},
68
-            "media$keywords":{},
69
-            "media$player":[{"url":"https://www.youtube.com/watch?v=DIVZCPfAOeM&feature=youtube_gdata_player"}],
70
-            "media$thumbnail":[{"url":"https://i.ytimg.com/vi/DIVZCPfAOeM/0.jpg",
71
-                    "height":360,"width":480,"time":"00:02:57"},
72
-                {"url":"https://i.ytimg.com/vi/DIVZCPfAOeM/1.jpg","height":90,"width":120,"time":"00:01:28.500"},
73
-                {"url":"https://i.ytimg.com/vi/DIVZCPfAOeM/2.jpg","height":90,"width":120,"time":"00:02:57"},
74
-                {"url":"https://i.ytimg.com/vi/DIVZCPfAOeM/3.jpg","height":90,"width":120,"time":"00:04:25.500"}],
75
-            "media$title":{"$t":"Title","type":"plain"},
76
-            "yt$duration":{"seconds":"354"} },
77
-            "gd$rating":{"average":4.932159,"max":5,"min":1,"numRaters":1533,
78
-                "rel":"http://schemas.google.com/g/2005#overall"},
79
-            "yt$statistics":{"favoriteCount":"0","viewCount":"92464"} }
80
-            ]
81
-        }
82
-        }
83
-        """
84
-        response = mock.Mock(text=json)
85
-        results = youtube.response(response)
86
-        self.assertEqual(type(results), list)
87
-        self.assertEqual(len(results), 1)
88
-        self.assertEqual(results[0]['title'], 'Title')
89
-        self.assertEqual(results[0]['url'], 'https://www.youtube.com/watch?v=DIVZCPfAOeM')
90
-        self.assertEqual(results[0]['content'], 'Description')
91
-        self.assertEqual(results[0]['thumbnail'], 'https://i.ytimg.com/vi/DIVZCPfAOeM/0.jpg')
92
-        self.assertTrue('DIVZCPfAOeM' in results[0]['embedded'])
93
-
94
-        json = """
95
-        {"feed":{"entry":[{
96
-            "id":{"$t":"http://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM"},
97
-            "published":{"$t":"2015-01-23T21:25:00.000Z"},
98
-            "updated":{"$t":"2015-01-26T14:38:15.000Z"},
99
-            "title":{"$t":"Title",
100
-                "type":"text"},"content":{"$t":"Description","type":"text"},
101
-            "link":[{"rel":"http://gdata.youtube.com/schemas/2007#video.related",
102
-                "type":"application/atom+xml",
103
-                "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM/related"},
104
-                {"rel":"self","type":"application/atom+xml",
105
-                "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM"}],
106
-            "author":[{"name":{"$t":"Cauet"},
107
-                "uri":{"$t":"https://gdata.youtube.com/feeds/api/users/cauetofficiel"} }],
108
-            "gd$comments":{"gd$feedLink":{"rel":"http://gdata.youtube.com/schemas/2007#comments",
109
-                "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM/comments",
110
-                "countHint":8} },
111
-            "media$group":{"media$category":[{"$t":"Comedy","label":"Comedy",
112
-                "scheme":"http://gdata.youtube.com/schemas/2007/categories.cat"}],
113
-            "media$content":[{"url":"https://www.youtube.com/v/DIVZCPfAOeM?version=3&f=videos&app=youtube_gdata",
114
-                "type":"application/x-shockwave-flash","medium":"video",
115
-                "isDefault":"true","expression":"full","duration":354,"yt$format":5},
116
-    {"url":"rtsp://r1---sn-cg07luel.c.youtube.com/CiILENy73wIaGQnjOcD3CFmFDBMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp",
117
-                "type":"video/3gpp","medium":"video","expression":"full","duration":354,
118
-                "yt$format":1},
119
-    {"url":"rtsp://r1---sn-cg07luel.c.youtube.com/CiILENy73wIaGQnjOcD3CFmFDBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp",
120
-                "type":"video/3gpp","medium":"video","expression":"full","duration":354,"yt$format":6}],
121
-            "media$description":{"$t":"Desc","type":"plain"},
122
-            "media$keywords":{},
123
-            "media$player":[{"url":"https://www.youtube.com/watch?v=DIVZCPfAOeM&feature=youtube_gdata_player"}],
124
-            "media$thumbnail":[{"url":"https://i.ytimg.com/vi/DIVZCPfAOeM/0.jpg",
125
-                    "height":360,"width":480,"time":"00:02:57"},
126
-                {"url":"https://i.ytimg.com/vi/DIVZCPfAOeM/1.jpg","height":90,"width":120,"time":"00:01:28.500"},
127
-                {"url":"https://i.ytimg.com/vi/DIVZCPfAOeM/2.jpg","height":90,"width":120,"time":"00:02:57"},
128
-                {"url":"https://i.ytimg.com/vi/DIVZCPfAOeM/3.jpg","height":90,"width":120,"time":"00:04:25.500"}],
129
-            "media$title":{"$t":"Title","type":"plain"},
130
-            "yt$duration":{"seconds":"354"} },
131
-            "gd$rating":{"average":4.932159,"max":5,"min":1,"numRaters":1533,
132
-                "rel":"http://schemas.google.com/g/2005#overall"},
133
-            "yt$statistics":{"favoriteCount":"0","viewCount":"92464"} }
134
-            ]
135
-        }
136
-        }
137
-        """
138
-        response = mock.Mock(text=json)
139
-        results = youtube.response(response)
140
-        self.assertEqual(type(results), list)
141
-        self.assertEqual(len(results), 0)
142
-
143
-        json = """
144
-        {"feed":{"entry":[{
145
-            "id":{"$t":"http://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM"},
146
-            "published":{"$t":"2015-01-23T21:25:00.000Z"},
147
-            "updated":{"$t":"2015-01-26T14:38:15.000Z"},
148
-            "title":{"$t":"Title",
149
-                "type":"text"},"content":{"$t":"Description","type":"text"},
150
-            "link":[{"rel":"alternate","type":"text/html",
151
-                "href":"https://www.youtube.com/watch?v=DIVZCPfAOeM"},
152
-                {"rel":"http://gdata.youtube.com/schemas/2007#video.related",
153
-                "type":"application/atom+xml",
154
-                "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM/related"},
155
-                {"rel":"http://gdata.youtube.com/schemas/2007#mobile","type":"text/html",
156
-                "href":"https://m.youtube.com/details?v=DIVZCPfAOeM"},
157
-                {"rel":"self","type":"application/atom+xml",
158
-                "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM"}],
159
-            "author":[{"name":{"$t":"Cauet"},
160
-                "uri":{"$t":"https://gdata.youtube.com/feeds/api/users/cauetofficiel"} }],
161
-            "gd$comments":{"gd$feedLink":{"rel":"http://gdata.youtube.com/schemas/2007#comments",
162
-                "href":"https://gdata.youtube.com/feeds/api/videos/DIVZCPfAOeM/comments",
163
-                "countHint":8} },
164
-            "media$group":{"media$category":[{"$t":"Comedy","label":"Comedy",
165
-                "scheme":"http://gdata.youtube.com/schemas/2007/categories.cat"}],
166
-            "media$content":[{"url":"https://www.youtube.com/v/DIVZCPfAOeM?version=3&f=videos&app=youtube_gdata",
167
-                "type":"application/x-shockwave-flash","medium":"video",
168
-                "isDefault":"true","expression":"full","duration":354,"yt$format":5},
169
-    {"url":"rtsp://r1---sn-cg07luel.c.youtube.com/CiILENy73wIaGQnjOcD3CFmFDBMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp",
170
-                "type":"video/3gpp","medium":"video","expression":"full","duration":354,
171
-                "yt$format":1},
172
-    {"url":"rtsp://r1---sn-cg07luel.c.youtube.com/CiILENy73wIaGQnjOcD3CFmFDBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp",
173
-                "type":"video/3gpp","medium":"video","expression":"full","duration":354,"yt$format":6}],
174
-            "media$description":{"$t":"Desc","type":"plain"},
175
-            "media$keywords":{},
176
-            "media$player":[{"url":"https://www.youtube.com/watch?v=DIVZCPfAOeM&feature=youtube_gdata_player"}],
177
-            "media$title":{"$t":"Title","type":"plain"},
178
-            "yt$duration":{"seconds":"354"} },
179
-            "gd$rating":{"average":4.932159,"max":5,"min":1,"numRaters":1533,
180
-                "rel":"http://schemas.google.com/g/2005#overall"},
181
-            "yt$statistics":{"favoriteCount":"0","viewCount":"92464"} }
182
-            ]
183
-        }
184
-        }
185
-        """
186
-        response = mock.Mock(text=json)
187
-        results = youtube.response(response)
188
-        self.assertEqual(type(results), list)
189
-        self.assertEqual(len(results), 1)
190
-        self.assertEqual(results[0]['title'], 'Title')
191
-        self.assertEqual(results[0]['url'], 'https://www.youtube.com/watch?v=DIVZCPfAOeM')
192
-        self.assertEqual(results[0]['content'], 'Description')
193
-        self.assertEqual(results[0]['thumbnail'], '')
194
-        self.assertTrue('DIVZCPfAOeM' in results[0]['embedded'])
195
-
196
-        json = """
197
-        {"toto":{"entry":[]
198
-        }
199
-        }
200
-        """
201
-        response = mock.Mock(text=json)
202
-        results = youtube.response(response)
203
-        self.assertEqual(type(results), list)
204
-        self.assertEqual(len(results), 0)

+ 0
- 1
searx/tests/test_engines.py 파일 보기

40
 from searx.tests.engines.test_www500px import *  # noqa
40
 from searx.tests.engines.test_www500px import *  # noqa
41
 from searx.tests.engines.test_yacy import *  # noqa
41
 from searx.tests.engines.test_yacy import *  # noqa
42
 from searx.tests.engines.test_yahoo import *  # noqa
42
 from searx.tests.engines.test_yahoo import *  # noqa
43
-from searx.tests.engines.test_youtube import *  # noqa
44
 from searx.tests.engines.test_youtube_api import *  # noqa
43
 from searx.tests.engines.test_youtube_api import *  # noqa
45
 from searx.tests.engines.test_youtube_noapi import *  # noqa
44
 from searx.tests.engines.test_youtube_noapi import *  # noqa
46
 from searx.tests.engines.test_yahoo_news import *  # noqa
45
 from searx.tests.engines.test_yahoo_news import *  # noqa

+ 17
- 11
searx/tests/test_plugins.py 파일 보기

5
 from mock import Mock
5
 from mock import Mock
6
 
6
 
7
 
7
 
8
+def get_search_mock(query, **kwargs):
9
+    return {'search': Mock(query=query,
10
+                           result_container=Mock(answers=set()),
11
+                           **kwargs)}
12
+
13
+
8
 class PluginStoreTest(SearxTestCase):
14
 class PluginStoreTest(SearxTestCase):
9
 
15
 
10
     def test_PluginStore_init(self):
16
     def test_PluginStore_init(self):
46
         request = Mock(user_plugins=store.plugins,
52
         request = Mock(user_plugins=store.plugins,
47
                        remote_addr='127.0.0.1')
53
                        remote_addr='127.0.0.1')
48
         request.headers.getlist.return_value = []
54
         request.headers.getlist.return_value = []
49
-        ctx = {'search': Mock(answers=set(),
50
-                              query='ip')}
55
+        ctx = get_search_mock(query='ip')
51
         store.call('post_search', request, ctx)
56
         store.call('post_search', request, ctx)
52
-        self.assertTrue('127.0.0.1' in ctx['search'].answers)
57
+        self.assertTrue('127.0.0.1' in ctx['search'].result_container.answers)
53
 
58
 
54
         # User agent test
59
         # User agent test
55
         request = Mock(user_plugins=store.plugins,
60
         request = Mock(user_plugins=store.plugins,
56
                        user_agent='Mock')
61
                        user_agent='Mock')
57
         request.headers.getlist.return_value = []
62
         request.headers.getlist.return_value = []
58
-        ctx = {'search': Mock(answers=set(),
59
-                              query='user-agent')}
63
+
64
+        ctx = get_search_mock(query='user-agent')
60
         store.call('post_search', request, ctx)
65
         store.call('post_search', request, ctx)
61
-        self.assertTrue('Mock' in ctx['search'].answers)
62
-        ctx = {'search': Mock(answers=set(),
63
-                              query='user agent')}
66
+        self.assertTrue('Mock' in ctx['search'].result_container.answers)
67
+
68
+        ctx = get_search_mock(query='user-agent')
64
         store.call('post_search', request, ctx)
69
         store.call('post_search', request, ctx)
65
-        self.assertTrue('Mock' in ctx['search'].answers)
66
-        ctx = {'search': Mock(answers=set(),
67
-                              query='What is my User-Agent?')}
70
+        self.assertTrue('Mock' in ctx['search'].result_container.answers)
71
+
72
+        ctx = get_search_mock(query='What is my User-Agent?')
68
         store.call('post_search', request, ctx)
73
         store.call('post_search', request, ctx)
74
+        self.assertTrue('Mock' in ctx['search'].result_container.answers)

+ 41
- 0
searx/tests/test_results.py 파일 보기

1
+# -*- coding: utf-8 -*-
2
+
3
+from searx.results import ResultContainer
4
+from searx.testing import SearxTestCase
5
+
6
+
7
+def fake_result(url='https://aa.bb/cc?dd=ee#ff',
8
+                title='aaa',
9
+                content='bbb',
10
+                engine='wikipedia', **kwargs):
11
+    result = {'url': url,
12
+              'title': title,
13
+              'content': content,
14
+              'engine': engine}
15
+    result.update(kwargs)
16
+    return result
17
+
18
+
19
+#  TODO
20
+class ResultContainerTestCase(SearxTestCase):
21
+
22
+    def test_empty(self):
23
+        c = ResultContainer()
24
+        self.assertEqual(c.get_ordered_results(), [])
25
+
26
+    def test_one_result(self):
27
+        c = ResultContainer()
28
+        c.extend('wikipedia', [fake_result()])
29
+        self.assertEqual(c.results_length(), 1)
30
+
31
+    def test_one_suggestion(self):
32
+        c = ResultContainer()
33
+        c.extend('wikipedia', [fake_result(suggestion=True)])
34
+        self.assertEqual(len(c.suggestions), 1)
35
+        self.assertEqual(c.results_length(), 0)
36
+
37
+    def test_result_merge(self):
38
+        c = ResultContainer()
39
+        c.extend('wikipedia', [fake_result()])
40
+        c.extend('wikidata', [fake_result(), fake_result(url='https://example.com/')])
41
+        self.assertEqual(c.results_length(), 2)

+ 4
- 19
searx/tests/test_search.py 파일 보기

1
 # -*- coding: utf-8 -*-
1
 # -*- coding: utf-8 -*-
2
 
2
 
3
-from searx.search import score_results
4
 from searx.testing import SearxTestCase
3
 from searx.testing import SearxTestCase
5
 
4
 
6
 
5
 
7
-def fake_result(url='https://aa.bb/cc?dd=ee#ff',
8
-                title='aaa',
9
-                content='bbb',
10
-                engine='wikipedia'):
11
-    return {'url': url,
12
-            'title': title,
13
-            'content': content,
14
-            'engine': engine}
6
+#  TODO
7
+class SearchTestCase(SearxTestCase):
15
 
8
 
16
-
17
-class ScoreResultsTestCase(SearxTestCase):
18
-
19
-    def test_empty(self):
20
-        self.assertEqual(score_results(dict()), [])
21
-
22
-    def test_urlparse(self):
23
-        results = score_results(dict(a=[fake_result(url='https://aa.bb/cc?dd=ee#ff')]))
24
-        parsed_url = results[0]['parsed_url']
25
-        self.assertEqual(parsed_url.query, 'dd=ee')
9
+    def test_(self):
10
+        pass

+ 10
- 0
searx/tests/test_utils.py 파일 보기

1
+# -*- coding: utf-8 -*-
1
 import mock
2
 import mock
2
 from searx.testing import SearxTestCase
3
 from searx.testing import SearxTestCase
3
 from searx import utils
4
 from searx import utils
51
         self.assertIsNotNone(utils.html_to_text(html))
52
         self.assertIsNotNone(utils.html_to_text(html))
52
         self.assertEqual(utils.html_to_text(html), "Test text")
53
         self.assertEqual(utils.html_to_text(html), "Test text")
53
 
54
 
55
+    def test_prettify_url(self):
56
+        data = (('https://searx.me/', 'https://searx.me/'),
57
+                (u'https://searx.me/ű', u'https://searx.me/ű'),
58
+                ('https://searx.me/' + (100 * 'a'), 'https://searx.me/[...]aaaaaaaaaaaaaaaaa'),
59
+                (u'https://searx.me/' + (100 * u'ű'), u'https://searx.me/[...]űűűűűűűűűűűűűűűűű'))
60
+
61
+        for test_url, expected in data:
62
+            self.assertEqual(utils.prettify_url(test_url, max_length=32), expected)
63
+
54
 
64
 
55
 class TestHTMLTextExtractor(SearxTestCase):
65
 class TestHTMLTextExtractor(SearxTestCase):
56
 
66
 

+ 7
- 1
searx/tests/test_webapp.py 파일 보기

1
 # -*- coding: utf-8 -*-
1
 # -*- coding: utf-8 -*-
2
 
2
 
3
 import json
3
 import json
4
+from mock import Mock
4
 from urlparse import ParseResult
5
 from urlparse import ParseResult
5
 from searx import webapp
6
 from searx import webapp
6
 from searx.testing import SearxTestCase
7
 from searx.testing import SearxTestCase
33
         ]
34
         ]
34
 
35
 
35
         def search_mock(search_self, *args):
36
         def search_mock(search_self, *args):
36
-            search_self.results = self.test_results
37
+            search_self.result_container = Mock(get_ordered_results=lambda: self.test_results,
38
+                                                answers=set(),
39
+                                                suggestions=set(),
40
+                                                infoboxes=[],
41
+                                                results=self.test_results,
42
+                                                results_length=lambda: len(self.test_results))
37
 
43
 
38
         webapp.Search.search = search_mock
44
         webapp.Search.search = search_mock
39
 
45
 

BIN
searx/translations/de/LC_MESSAGES/messages.mo 파일 보기


+ 116
- 54
searx/translations/de/LC_MESSAGES/messages.po 파일 보기

14
 msgstr ""
14
 msgstr ""
15
 "Project-Id-Version: searx\n"
15
 "Project-Id-Version: searx\n"
16
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
16
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
17
-"POT-Creation-Date: 2015-04-26 18:57+0200\n"
18
-"PO-Revision-Date: 2015-04-26 19:24+0000\n"
17
+"POT-Creation-Date: 2015-08-24 11:44+0200\n"
18
+"PO-Revision-Date: 2015-08-24 10:00+0000\n"
19
 "Last-Translator: pointhi\n"
19
 "Last-Translator: pointhi\n"
20
-"Language-Team: German (http://www.transifex.com/projects/p/searx/language/de/)\n"
20
+"Language-Team: German (http://www.transifex.com/asciimoo/searx/language/de/)\n"
21
 "MIME-Version: 1.0\n"
21
 "MIME-Version: 1.0\n"
22
 "Content-Type: text/plain; charset=UTF-8\n"
22
 "Content-Type: text/plain; charset=UTF-8\n"
23
 "Content-Transfer-Encoding: 8bit\n"
23
 "Content-Transfer-Encoding: 8bit\n"
25
 "Language: de\n"
25
 "Language: de\n"
26
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
26
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
27
 
27
 
28
-#: searx/webapp.py:104
28
+#: searx/webapp.py:114
29
 msgid "files"
29
 msgid "files"
30
 msgstr "Dateien"
30
 msgstr "Dateien"
31
 
31
 
32
-#: searx/webapp.py:105
32
+#: searx/webapp.py:115
33
 msgid "general"
33
 msgid "general"
34
 msgstr "Allgemein"
34
 msgstr "Allgemein"
35
 
35
 
36
-#: searx/webapp.py:106
36
+#: searx/webapp.py:116
37
 msgid "music"
37
 msgid "music"
38
 msgstr "Musik"
38
 msgstr "Musik"
39
 
39
 
40
-#: searx/webapp.py:107
40
+#: searx/webapp.py:117
41
 msgid "social media"
41
 msgid "social media"
42
 msgstr "Soziale Medien"
42
 msgstr "Soziale Medien"
43
 
43
 
44
-#: searx/webapp.py:108
44
+#: searx/webapp.py:118
45
 msgid "images"
45
 msgid "images"
46
 msgstr "Bilder"
46
 msgstr "Bilder"
47
 
47
 
48
-#: searx/webapp.py:109
48
+#: searx/webapp.py:119
49
 msgid "videos"
49
 msgid "videos"
50
 msgstr "Videos"
50
 msgstr "Videos"
51
 
51
 
52
-#: searx/webapp.py:110
52
+#: searx/webapp.py:120
53
 msgid "it"
53
 msgid "it"
54
 msgstr "IT"
54
 msgstr "IT"
55
 
55
 
56
-#: searx/webapp.py:111
56
+#: searx/webapp.py:121
57
 msgid "news"
57
 msgid "news"
58
 msgstr "Neuigkeiten"
58
 msgstr "Neuigkeiten"
59
 
59
 
60
-#: searx/webapp.py:112
60
+#: searx/webapp.py:122
61
 msgid "map"
61
 msgid "map"
62
 msgstr "Karte"
62
 msgstr "Karte"
63
 
63
 
64
-#: searx/webapp.py:396
64
+#: searx/webapp.py:414
65
 msgid "{minutes} minute(s) ago"
65
 msgid "{minutes} minute(s) ago"
66
 msgstr "vor {minutes} Minute(n)"
66
 msgstr "vor {minutes} Minute(n)"
67
 
67
 
68
-#: searx/webapp.py:398
68
+#: searx/webapp.py:416
69
 msgid "{hours} hour(s), {minutes} minute(s) ago"
69
 msgid "{hours} hour(s), {minutes} minute(s) ago"
70
 msgstr "vor {hours} Stunde(n), {minutes} Minute(n)"
70
 msgstr "vor {hours} Stunde(n), {minutes} Minute(n)"
71
 
71
 
72
-#: searx/engines/__init__.py:182
72
+#: searx/engines/__init__.py:185
73
 msgid "Page loads (sec)"
73
 msgid "Page loads (sec)"
74
 msgstr "Ladezeit (sek)"
74
 msgstr "Ladezeit (sek)"
75
 
75
 
76
-#: searx/engines/__init__.py:186
76
+#: searx/engines/__init__.py:189
77
 msgid "Number of results"
77
 msgid "Number of results"
78
 msgstr "Trefferanzahl"
78
 msgstr "Trefferanzahl"
79
 
79
 
80
-#: searx/engines/__init__.py:190
80
+#: searx/engines/__init__.py:193
81
 msgid "Scores"
81
 msgid "Scores"
82
 msgstr "Punkte"
82
 msgstr "Punkte"
83
 
83
 
84
-#: searx/engines/__init__.py:194
84
+#: searx/engines/__init__.py:197
85
 msgid "Scores per result"
85
 msgid "Scores per result"
86
 msgstr "Punkte pro Treffer"
86
 msgstr "Punkte pro Treffer"
87
 
87
 
88
-#: searx/engines/__init__.py:198
88
+#: searx/engines/__init__.py:201
89
 msgid "Errors"
89
 msgid "Errors"
90
 msgstr "Fehler"
90
 msgstr "Fehler"
91
 
91
 
100
 #: searx/plugins/search_on_category_select.py:19
100
 #: searx/plugins/search_on_category_select.py:19
101
 msgid ""
101
 msgid ""
102
 "Perform search immediately if a category selected. Disable to select "
102
 "Perform search immediately if a category selected. Disable to select "
103
-"multiple categories."
104
-msgstr "Startet eine Suche sofort, wenn eine Kategorie angeklickt wird. Deaktiviere dieses Plugin um mehrere Kategorien anzuwählen."
103
+"multiple categories. (JavaScript required)"
104
+msgstr "Starte die Suche sofort wenn eine Kategorie ausgewählt wird. Es ist nicht mehr möglich mehrere Kategorien auszuwählen. (JavaScript benötigt)"
105
 
105
 
106
-#: searx/plugins/self_ip.py:19
107
-msgid "Display your source IP address if the query expression is \"ip\""
108
-msgstr "Zeigt deine IP-Adresse an wenn die Suchanfrage \"ip\" lautet"
106
+#: searx/plugins/self_info.py:20
107
+msgid ""
108
+"Displays your IP if the query is \"ip\" and your user agent if the query "
109
+"contains \"user agent\"."
110
+msgstr "Zeigt deine IP-Adresse wenn die Suche \"ip\" lautet, und deinen User-Agent wenn deine Suche \"user agent\" beinhaltet."
111
+
112
+#: searx/plugins/tracker_url_remover.py:26
113
+msgid "Tracker URL remover"
114
+msgstr "Tracker-URL entferner"
115
+
116
+#: searx/plugins/tracker_url_remover.py:27
117
+msgid "Remove trackers arguments from the returned URL"
118
+msgstr "Entferne Tracker Argumente von den URLs"
109
 
119
 
110
 #: searx/templates/courgette/index.html:9
120
 #: searx/templates/courgette/index.html:9
111
 #: searx/templates/courgette/index.html:13
121
 #: searx/templates/courgette/index.html:13
133
 
143
 
134
 #: searx/templates/courgette/preferences.html:9
144
 #: searx/templates/courgette/preferences.html:9
135
 #: searx/templates/default/preferences.html:9
145
 #: searx/templates/default/preferences.html:9
136
-#: searx/templates/oscar/preferences.html:35
137
-#: searx/templates/oscar/preferences.html:37
146
+#: searx/templates/oscar/preferences.html:36
147
+#: searx/templates/oscar/preferences.html:38
138
 msgid "Default categories"
148
 msgid "Default categories"
139
 msgstr "Standardkategorien"
149
 msgstr "Standardkategorien"
140
 
150
 
141
 #: searx/templates/courgette/preferences.html:13
151
 #: searx/templates/courgette/preferences.html:13
142
 #: searx/templates/default/preferences.html:14
152
 #: searx/templates/default/preferences.html:14
143
-#: searx/templates/oscar/preferences.html:43
153
+#: searx/templates/oscar/preferences.html:44
144
 #: searx/templates/pix-art/preferences.html:9
154
 #: searx/templates/pix-art/preferences.html:9
145
 msgid "Search language"
155
 msgid "Search language"
146
 msgstr "Suchsprache"
156
 msgstr "Suchsprache"
147
 
157
 
148
 #: searx/templates/courgette/preferences.html:16
158
 #: searx/templates/courgette/preferences.html:16
149
 #: searx/templates/default/preferences.html:17
159
 #: searx/templates/default/preferences.html:17
150
-#: searx/templates/oscar/preferences.html:47
160
+#: searx/templates/oscar/preferences.html:48
151
 #: searx/templates/pix-art/preferences.html:12
161
 #: searx/templates/pix-art/preferences.html:12
152
 msgid "Automatic"
162
 msgid "Automatic"
153
 msgstr "Automatisch"
163
 msgstr "Automatisch"
154
 
164
 
155
 #: searx/templates/courgette/preferences.html:24
165
 #: searx/templates/courgette/preferences.html:24
156
 #: searx/templates/default/preferences.html:25
166
 #: searx/templates/default/preferences.html:25
157
-#: searx/templates/oscar/preferences.html:54
167
+#: searx/templates/oscar/preferences.html:55
158
 #: searx/templates/pix-art/preferences.html:20
168
 #: searx/templates/pix-art/preferences.html:20
159
 msgid "Interface language"
169
 msgid "Interface language"
160
 msgstr "Oberflächensprache"
170
 msgstr "Oberflächensprache"
161
 
171
 
162
 #: searx/templates/courgette/preferences.html:34
172
 #: searx/templates/courgette/preferences.html:34
163
 #: searx/templates/default/preferences.html:35
173
 #: searx/templates/default/preferences.html:35
164
-#: searx/templates/oscar/preferences.html:64
174
+#: searx/templates/oscar/preferences.html:65
165
 msgid "Autocomplete"
175
 msgid "Autocomplete"
166
 msgstr "Autovervollständigung"
176
 msgstr "Autovervollständigung"
167
 
177
 
168
 #: searx/templates/courgette/preferences.html:45
178
 #: searx/templates/courgette/preferences.html:45
169
 #: searx/templates/default/preferences.html:46
179
 #: searx/templates/default/preferences.html:46
170
-#: searx/templates/oscar/preferences.html:75
180
+#: searx/templates/oscar/preferences.html:76
171
 msgid "Image proxy"
181
 msgid "Image proxy"
172
 msgstr "Bilder Proxy"
182
 msgstr "Bilder Proxy"
173
 
183
 
174
 #: searx/templates/courgette/preferences.html:48
184
 #: searx/templates/courgette/preferences.html:48
175
 #: searx/templates/default/preferences.html:49
185
 #: searx/templates/default/preferences.html:49
176
-#: searx/templates/oscar/preferences.html:79
186
+#: searx/templates/oscar/preferences.html:80
177
 msgid "Enabled"
187
 msgid "Enabled"
178
 msgstr "Aktiviert"
188
 msgstr "Aktiviert"
179
 
189
 
180
 #: searx/templates/courgette/preferences.html:49
190
 #: searx/templates/courgette/preferences.html:49
181
 #: searx/templates/default/preferences.html:50
191
 #: searx/templates/default/preferences.html:50
182
-#: searx/templates/oscar/preferences.html:80
192
+#: searx/templates/oscar/preferences.html:81
183
 msgid "Disabled"
193
 msgid "Disabled"
184
 msgstr "Deaktiviert"
194
 msgstr "Deaktiviert"
185
 
195
 
186
 #: searx/templates/courgette/preferences.html:54
196
 #: searx/templates/courgette/preferences.html:54
187
 #: searx/templates/default/preferences.html:55
197
 #: searx/templates/default/preferences.html:55
188
-#: searx/templates/oscar/preferences.html:84
198
+#: searx/templates/oscar/preferences.html:85
189
 #: searx/templates/pix-art/preferences.html:30
199
 #: searx/templates/pix-art/preferences.html:30
190
 msgid "Method"
200
 msgid "Method"
191
 msgstr "Methode"
201
 msgstr "Methode"
192
 
202
 
193
 #: searx/templates/courgette/preferences.html:63
203
 #: searx/templates/courgette/preferences.html:63
194
 #: searx/templates/default/preferences.html:64
204
 #: searx/templates/default/preferences.html:64
195
-#: searx/templates/oscar/preferences.html:93
205
+#: searx/templates/oscar/preferences.html:94
206
+#: searx/templates/oscar/preferences.html:144
207
+#: searx/templates/oscar/preferences.html:150
196
 msgid "SafeSearch"
208
 msgid "SafeSearch"
197
 msgstr "Sichere Suche (SafeSearch)"
209
 msgstr "Sichere Suche (SafeSearch)"
198
 
210
 
199
 #: searx/templates/courgette/preferences.html:66
211
 #: searx/templates/courgette/preferences.html:66
200
 #: searx/templates/default/preferences.html:67
212
 #: searx/templates/default/preferences.html:67
201
-#: searx/templates/oscar/preferences.html:97
213
+#: searx/templates/oscar/preferences.html:98
202
 msgid "Strict"
214
 msgid "Strict"
203
 msgstr "Streng"
215
 msgstr "Streng"
204
 
216
 
205
 #: searx/templates/courgette/preferences.html:67
217
 #: searx/templates/courgette/preferences.html:67
206
 #: searx/templates/default/preferences.html:68
218
 #: searx/templates/default/preferences.html:68
207
-#: searx/templates/oscar/preferences.html:98
219
+#: searx/templates/oscar/preferences.html:99
208
 msgid "Moderate"
220
 msgid "Moderate"
209
 msgstr "Moderat"
221
 msgstr "Moderat"
210
 
222
 
211
 #: searx/templates/courgette/preferences.html:68
223
 #: searx/templates/courgette/preferences.html:68
212
 #: searx/templates/default/preferences.html:69
224
 #: searx/templates/default/preferences.html:69
213
-#: searx/templates/oscar/preferences.html:99
225
+#: searx/templates/oscar/preferences.html:100
214
 msgid "None"
226
 msgid "None"
215
 msgstr "Keine"
227
 msgstr "Keine"
216
 
228
 
217
 #: searx/templates/courgette/preferences.html:73
229
 #: searx/templates/courgette/preferences.html:73
218
 #: searx/templates/default/preferences.html:74
230
 #: searx/templates/default/preferences.html:74
219
-#: searx/templates/oscar/preferences.html:103
231
+#: searx/templates/oscar/preferences.html:104
220
 #: searx/templates/pix-art/preferences.html:39
232
 #: searx/templates/pix-art/preferences.html:39
221
 msgid "Themes"
233
 msgid "Themes"
222
 msgstr "Designs"
234
 msgstr "Designs"
257
 
269
 
258
 #: searx/templates/courgette/preferences.html:100
270
 #: searx/templates/courgette/preferences.html:100
259
 #: searx/templates/default/preferences.html:88
271
 #: searx/templates/default/preferences.html:88
272
+#: searx/templates/oscar/preferences.html:142
273
+#: searx/templates/oscar/preferences.html:152
260
 #: searx/templates/pix-art/preferences.html:53
274
 #: searx/templates/pix-art/preferences.html:53
261
 msgid "Engine name"
275
 msgid "Engine name"
262
 msgstr "Suchmaschinenname"
276
 msgstr "Suchmaschinenname"
271
 #: searx/templates/default/preferences.html:90
285
 #: searx/templates/default/preferences.html:90
272
 #: searx/templates/default/preferences.html:101
286
 #: searx/templates/default/preferences.html:101
273
 #: searx/templates/oscar/macros.html:67
287
 #: searx/templates/oscar/macros.html:67
288
+#: searx/templates/oscar/preferences.html:141
289
+#: searx/templates/oscar/preferences.html:153
274
 #: searx/templates/pix-art/preferences.html:54
290
 #: searx/templates/pix-art/preferences.html:54
275
 #: searx/templates/pix-art/preferences.html:64
291
 #: searx/templates/pix-art/preferences.html:64
276
 msgid "Allow"
292
 msgid "Allow"
288
 
304
 
289
 #: searx/templates/courgette/preferences.html:122
305
 #: searx/templates/courgette/preferences.html:122
290
 #: searx/templates/default/preferences.html:110
306
 #: searx/templates/default/preferences.html:110
291
-#: searx/templates/oscar/preferences.html:180
307
+#: searx/templates/oscar/preferences.html:235
292
 #: searx/templates/pix-art/preferences.html:73
308
 #: searx/templates/pix-art/preferences.html:73
293
 msgid ""
309
 msgid ""
294
 "These settings are stored in your cookies, this allows us not to store this "
310
 "These settings are stored in your cookies, this allows us not to store this "
297
 
313
 
298
 #: searx/templates/courgette/preferences.html:124
314
 #: searx/templates/courgette/preferences.html:124
299
 #: searx/templates/default/preferences.html:112
315
 #: searx/templates/default/preferences.html:112
300
-#: searx/templates/oscar/preferences.html:182
316
+#: searx/templates/oscar/preferences.html:237
301
 #: searx/templates/pix-art/preferences.html:75
317
 #: searx/templates/pix-art/preferences.html:75
302
 msgid ""
318
 msgid ""
303
 "These cookies serve your sole convenience, we don't use these cookies to "
319
 "These cookies serve your sole convenience, we don't use these cookies to "
306
 
322
 
307
 #: searx/templates/courgette/preferences.html:127
323
 #: searx/templates/courgette/preferences.html:127
308
 #: searx/templates/default/preferences.html:115
324
 #: searx/templates/default/preferences.html:115
309
-#: searx/templates/oscar/preferences.html:185
325
+#: searx/templates/oscar/preferences.html:240
310
 #: searx/templates/pix-art/preferences.html:78
326
 #: searx/templates/pix-art/preferences.html:78
311
 msgid "save"
327
 msgid "save"
312
 msgstr "Speichern"
328
 msgstr "Speichern"
313
 
329
 
314
 #: searx/templates/courgette/preferences.html:128
330
 #: searx/templates/courgette/preferences.html:128
315
 #: searx/templates/default/preferences.html:116
331
 #: searx/templates/default/preferences.html:116
316
-#: searx/templates/oscar/preferences.html:187
332
+#: searx/templates/oscar/preferences.html:242
317
 msgid "Reset defaults"
333
 msgid "Reset defaults"
318
 msgstr "Zurücksetzen"
334
 msgstr "Zurücksetzen"
319
 
335
 
320
 #: searx/templates/courgette/preferences.html:129
336
 #: searx/templates/courgette/preferences.html:129
321
 #: searx/templates/default/preferences.html:117
337
 #: searx/templates/default/preferences.html:117
322
-#: searx/templates/oscar/preferences.html:186
338
+#: searx/templates/oscar/preferences.html:241
323
 #: searx/templates/pix-art/preferences.html:79
339
 #: searx/templates/pix-art/preferences.html:79
324
 msgid "back"
340
 msgid "back"
325
 msgstr "Zurück"
341
 msgstr "Zurück"
429
 msgstr "Navigation umschalten"
445
 msgstr "Navigation umschalten"
430
 
446
 
431
 #: searx/templates/oscar/preferences.html:17
447
 #: searx/templates/oscar/preferences.html:17
432
-#: searx/templates/oscar/preferences.html:24
448
+#: searx/templates/oscar/preferences.html:25
433
 msgid "General"
449
 msgid "General"
434
 msgstr "Allgemein"
450
 msgstr "Allgemein"
435
 
451
 
436
 #: searx/templates/oscar/preferences.html:18
452
 #: searx/templates/oscar/preferences.html:18
437
-#: searx/templates/oscar/preferences.html:125
453
+#: searx/templates/oscar/preferences.html:126
438
 msgid "Engines"
454
 msgid "Engines"
439
 msgstr "Suchmaschinen"
455
 msgstr "Suchmaschinen"
440
 
456
 
441
 #: searx/templates/oscar/preferences.html:19
457
 #: searx/templates/oscar/preferences.html:19
442
-#: searx/templates/oscar/preferences.html:159
458
+#: searx/templates/oscar/preferences.html:187
443
 msgid "Plugins"
459
 msgid "Plugins"
444
 msgstr "Erweiterungen"
460
 msgstr "Erweiterungen"
445
 
461
 
446
-#: searx/templates/oscar/preferences.html:44
462
+#: searx/templates/oscar/preferences.html:20
463
+#: searx/templates/oscar/preferences.html:210
464
+msgid "Cookies"
465
+msgstr "Cookies"
466
+
467
+#: searx/templates/oscar/preferences.html:45
447
 msgid "What language do you prefer for search?"
468
 msgid "What language do you prefer for search?"
448
 msgstr "welche Sprache bevorzugst du für die Suche?"
469
 msgstr "welche Sprache bevorzugst du für die Suche?"
449
 
470
 
450
-#: searx/templates/oscar/preferences.html:55
471
+#: searx/templates/oscar/preferences.html:56
451
 msgid "Change the language of the layout"
472
 msgid "Change the language of the layout"
452
 msgstr "ändere die Sprache des Layouts"
473
 msgstr "ändere die Sprache des Layouts"
453
 
474
 
454
-#: searx/templates/oscar/preferences.html:65
475
+#: searx/templates/oscar/preferences.html:66
455
 msgid "Find stuff as you type"
476
 msgid "Find stuff as you type"
456
 msgstr "zeige Vorschläge während der Eingabe an"
477
 msgstr "zeige Vorschläge während der Eingabe an"
457
 
478
 
458
-#: searx/templates/oscar/preferences.html:76
479
+#: searx/templates/oscar/preferences.html:77
459
 msgid "Proxying image results through searx"
480
 msgid "Proxying image results through searx"
460
 msgstr "tunnel Bilder durch searx"
481
 msgstr "tunnel Bilder durch searx"
461
 
482
 
462
-#: searx/templates/oscar/preferences.html:85
483
+#: searx/templates/oscar/preferences.html:86
463
 msgid ""
484
 msgid ""
464
 "Change how forms are submited, <a "
485
 "Change how forms are submited, <a "
465
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
486
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
466
 " rel=\"external\">learn more about request methods</a>"
487
 " rel=\"external\">learn more about request methods</a>"
467
 msgstr "ändere wie Formulare übertragen werden, <a href=\"https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol#HTTP-Anfragemethoden\" rel=\"external\">lerne mehr über Anfragemethoden</a>"
488
 msgstr "ändere wie Formulare übertragen werden, <a href=\"https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol#HTTP-Anfragemethoden\" rel=\"external\">lerne mehr über Anfragemethoden</a>"
468
 
489
 
469
-#: searx/templates/oscar/preferences.html:94
490
+#: searx/templates/oscar/preferences.html:95
470
 msgid "Filter content"
491
 msgid "Filter content"
471
 msgstr "Inhalte filtern"
492
 msgstr "Inhalte filtern"
472
 
493
 
473
-#: searx/templates/oscar/preferences.html:104
494
+#: searx/templates/oscar/preferences.html:105
474
 msgid "Change searx layout"
495
 msgid "Change searx layout"
475
 msgstr "ändere das Aussehen von searx"
496
 msgstr "ändere das Aussehen von searx"
476
 
497
 
498
+#: searx/templates/oscar/preferences.html:143
499
+#: searx/templates/oscar/preferences.html:151
500
+msgid "Shortcut"
501
+msgstr "Abkürzung"
502
+
503
+#: searx/templates/oscar/preferences.html:145
504
+#: searx/templates/oscar/preferences.html:149
505
+msgid "Avg. time"
506
+msgstr "mittlere Zeit"
507
+
508
+#: searx/templates/oscar/preferences.html:146
509
+#: searx/templates/oscar/preferences.html:148
510
+msgid "Max time"
511
+msgstr "max. Zeit"
512
+
513
+#: searx/templates/oscar/preferences.html:213
514
+msgid ""
515
+"This is the list of cookies and their values searx is storing on your "
516
+"computer."
517
+msgstr "Diese Liste zeigt alle Daten welche searx auf deinem Computer speichert."
518
+
519
+#: searx/templates/oscar/preferences.html:214
520
+msgid "With that list, you can assess searx transparency."
521
+msgstr "Mit dieser Liste können Sie die Transparenz von searx bewerten"
522
+
523
+#: searx/templates/oscar/preferences.html:219
524
+msgid "Cookie name"
525
+msgstr "Cookie Name"
526
+
527
+#: searx/templates/oscar/preferences.html:220
528
+msgid "Value"
529
+msgstr "Wert"
530
+
477
 #: searx/templates/oscar/results.html:7
531
 #: searx/templates/oscar/results.html:7
478
 msgid "Search results"
532
 msgid "Search results"
479
 msgstr "Suchergebnisse"
533
 msgstr "Suchergebnisse"
523
 msgid "Please enable JavaScript to use full functionality of this site."
577
 msgid "Please enable JavaScript to use full functionality of this site."
524
 msgstr "Bitte aktiviere JavaScript, um alle Funktionen dieser Seite zu nutzen. "
578
 msgstr "Bitte aktiviere JavaScript, um alle Funktionen dieser Seite zu nutzen. "
525
 
579
 
580
+#: searx/templates/oscar/messages/no_cookies.html:3
581
+msgid "Information!"
582
+msgstr "Information!"
583
+
584
+#: searx/templates/oscar/messages/no_cookies.html:4
585
+msgid "currently, there are no cookies defined."
586
+msgstr "derzeit sind keine Cookies gesetzt."
587
+
526
 #: searx/templates/oscar/messages/no_data_available.html:4
588
 #: searx/templates/oscar/messages/no_data_available.html:4
527
 msgid "There is currently no data available. "
589
 msgid "There is currently no data available. "
528
 msgstr "Es sind derzeit keine Daten vorhanden."
590
 msgstr "Es sind derzeit keine Daten vorhanden."

BIN
searx/translations/en/LC_MESSAGES/messages.mo 파일 보기


BIN
searx/translations/es/LC_MESSAGES/messages.mo 파일 보기


+ 122
- 58
searx/translations/es/LC_MESSAGES/messages.po 파일 보기

3
 # This file is distributed under the same license as the PROJECT project.
3
 # This file is distributed under the same license as the PROJECT project.
4
 # 
4
 # 
5
 # Translators:
5
 # Translators:
6
+# Adam Tauber <asciimoo@gmail.com>, 2015
6
 # Alejandro León Aznar, 2014
7
 # Alejandro León Aznar, 2014
7
 # Alejandro León Aznar, 2014-2015
8
 # Alejandro León Aznar, 2014-2015
9
+# Oscar Carrero <holaoscar@protonmail.ch>, 2015
8
 msgid ""
10
 msgid ""
9
 msgstr ""
11
 msgstr ""
10
 "Project-Id-Version: searx\n"
12
 "Project-Id-Version: searx\n"
11
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
13
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
12
-"POT-Creation-Date: 2015-04-26 18:57+0200\n"
13
-"PO-Revision-Date: 2015-04-27 23:48+0000\n"
14
-"Last-Translator: Alejandro León Aznar\n"
15
-"Language-Team: Spanish (http://www.transifex.com/projects/p/searx/language/es/)\n"
14
+"POT-Creation-Date: 2015-08-24 11:44+0200\n"
15
+"PO-Revision-Date: 2015-09-05 20:46+0000\n"
16
+"Last-Translator: Oscar Carrero <holaoscar@protonmail.ch>\n"
17
+"Language-Team: Spanish (http://www.transifex.com/asciimoo/searx/language/es/)\n"
16
 "MIME-Version: 1.0\n"
18
 "MIME-Version: 1.0\n"
17
 "Content-Type: text/plain; charset=UTF-8\n"
19
 "Content-Type: text/plain; charset=UTF-8\n"
18
 "Content-Transfer-Encoding: 8bit\n"
20
 "Content-Transfer-Encoding: 8bit\n"
20
 "Language: es\n"
22
 "Language: es\n"
21
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
23
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
22
 
24
 
23
-#: searx/webapp.py:104
25
+#: searx/webapp.py:114
24
 msgid "files"
26
 msgid "files"
25
 msgstr "Archivos"
27
 msgstr "Archivos"
26
 
28
 
27
-#: searx/webapp.py:105
29
+#: searx/webapp.py:115
28
 msgid "general"
30
 msgid "general"
29
 msgstr "General"
31
 msgstr "General"
30
 
32
 
31
-#: searx/webapp.py:106
33
+#: searx/webapp.py:116
32
 msgid "music"
34
 msgid "music"
33
 msgstr "Música"
35
 msgstr "Música"
34
 
36
 
35
-#: searx/webapp.py:107
37
+#: searx/webapp.py:117
36
 msgid "social media"
38
 msgid "social media"
37
 msgstr "Medios sociales"
39
 msgstr "Medios sociales"
38
 
40
 
39
-#: searx/webapp.py:108
41
+#: searx/webapp.py:118
40
 msgid "images"
42
 msgid "images"
41
 msgstr "Imágenes"
43
 msgstr "Imágenes"
42
 
44
 
43
-#: searx/webapp.py:109
45
+#: searx/webapp.py:119
44
 msgid "videos"
46
 msgid "videos"
45
 msgstr "Vídeos"
47
 msgstr "Vídeos"
46
 
48
 
47
-#: searx/webapp.py:110
49
+#: searx/webapp.py:120
48
 msgid "it"
50
 msgid "it"
49
 msgstr "TIC"
51
 msgstr "TIC"
50
 
52
 
51
-#: searx/webapp.py:111
53
+#: searx/webapp.py:121
52
 msgid "news"
54
 msgid "news"
53
 msgstr "noticias"
55
 msgstr "noticias"
54
 
56
 
55
-#: searx/webapp.py:112
57
+#: searx/webapp.py:122
56
 msgid "map"
58
 msgid "map"
57
 msgstr "mapa"
59
 msgstr "mapa"
58
 
60
 
59
-#: searx/webapp.py:396
61
+#: searx/webapp.py:414
60
 msgid "{minutes} minute(s) ago"
62
 msgid "{minutes} minute(s) ago"
61
 msgstr "hace {minutes} minuto(s)"
63
 msgstr "hace {minutes} minuto(s)"
62
 
64
 
63
-#: searx/webapp.py:398
65
+#: searx/webapp.py:416
64
 msgid "{hours} hour(s), {minutes} minute(s) ago"
66
 msgid "{hours} hour(s), {minutes} minute(s) ago"
65
 msgstr "hace {hours} hora(s) y {minutes} minuto(s)"
67
 msgstr "hace {hours} hora(s) y {minutes} minuto(s)"
66
 
68
 
67
-#: searx/engines/__init__.py:182
69
+#: searx/engines/__init__.py:185
68
 msgid "Page loads (sec)"
70
 msgid "Page loads (sec)"
69
 msgstr "Tiempo de carga (segundos)"
71
 msgstr "Tiempo de carga (segundos)"
70
 
72
 
71
-#: searx/engines/__init__.py:186
73
+#: searx/engines/__init__.py:189
72
 msgid "Number of results"
74
 msgid "Number of results"
73
 msgstr "Número de resultados"
75
 msgstr "Número de resultados"
74
 
76
 
75
-#: searx/engines/__init__.py:190
77
+#: searx/engines/__init__.py:193
76
 msgid "Scores"
78
 msgid "Scores"
77
 msgstr "Puntuaciones"
79
 msgstr "Puntuaciones"
78
 
80
 
79
-#: searx/engines/__init__.py:194
81
+#: searx/engines/__init__.py:197
80
 msgid "Scores per result"
82
 msgid "Scores per result"
81
 msgstr "Puntuaciones por resultado"
83
 msgstr "Puntuaciones por resultado"
82
 
84
 
83
-#: searx/engines/__init__.py:198
85
+#: searx/engines/__init__.py:201
84
 msgid "Errors"
86
 msgid "Errors"
85
 msgstr "Errores"
87
 msgstr "Errores"
86
 
88
 
95
 #: searx/plugins/search_on_category_select.py:19
97
 #: searx/plugins/search_on_category_select.py:19
96
 msgid ""
98
 msgid ""
97
 "Perform search immediately if a category selected. Disable to select "
99
 "Perform search immediately if a category selected. Disable to select "
98
-"multiple categories."
99
-msgstr "Realizar la búsqueda inmediatamente si se ha seleccionado una categoría. Desactivar la selección simultánea de varias categorías."
100
+"multiple categories. (JavaScript required)"
101
+msgstr "Realizar una búsqueda inmediatamente si se ha seleccionado una categoría. Desactivar para seleccionar varias categorías. (Se requiere JavaScript)"
100
 
102
 
101
-#: searx/plugins/self_ip.py:19
102
-msgid "Display your source IP address if the query expression is \"ip\""
103
-msgstr "Mostrar tu dirección IP si el término de búsqueda es «ip»"
103
+#: searx/plugins/self_info.py:20
104
+msgid ""
105
+"Displays your IP if the query is \"ip\" and your user agent if the query "
106
+"contains \"user agent\"."
107
+msgstr "Muestra tu dirección IP si la consulta es \"ip\" y tu Agente de Usuario si la consulta contiene \"agente de usuario\"."
108
+
109
+#: searx/plugins/tracker_url_remover.py:26
110
+msgid "Tracker URL remover"
111
+msgstr "Eliminador de URL rastreadora"
112
+
113
+#: searx/plugins/tracker_url_remover.py:27
114
+msgid "Remove trackers arguments from the returned URL"
115
+msgstr "Eliminar los argumentos de los rastreadores en la URL devuelta"
104
 
116
 
105
 #: searx/templates/courgette/index.html:9
117
 #: searx/templates/courgette/index.html:9
106
 #: searx/templates/courgette/index.html:13
118
 #: searx/templates/courgette/index.html:13
128
 
140
 
129
 #: searx/templates/courgette/preferences.html:9
141
 #: searx/templates/courgette/preferences.html:9
130
 #: searx/templates/default/preferences.html:9
142
 #: searx/templates/default/preferences.html:9
131
-#: searx/templates/oscar/preferences.html:35
132
-#: searx/templates/oscar/preferences.html:37
143
+#: searx/templates/oscar/preferences.html:36
144
+#: searx/templates/oscar/preferences.html:38
133
 msgid "Default categories"
145
 msgid "Default categories"
134
 msgstr "Categorías predeterminadas"
146
 msgstr "Categorías predeterminadas"
135
 
147
 
136
 #: searx/templates/courgette/preferences.html:13
148
 #: searx/templates/courgette/preferences.html:13
137
 #: searx/templates/default/preferences.html:14
149
 #: searx/templates/default/preferences.html:14
138
-#: searx/templates/oscar/preferences.html:43
150
+#: searx/templates/oscar/preferences.html:44
139
 #: searx/templates/pix-art/preferences.html:9
151
 #: searx/templates/pix-art/preferences.html:9
140
 msgid "Search language"
152
 msgid "Search language"
141
 msgstr "Buscar idioma"
153
 msgstr "Buscar idioma"
142
 
154
 
143
 #: searx/templates/courgette/preferences.html:16
155
 #: searx/templates/courgette/preferences.html:16
144
 #: searx/templates/default/preferences.html:17
156
 #: searx/templates/default/preferences.html:17
145
-#: searx/templates/oscar/preferences.html:47
157
+#: searx/templates/oscar/preferences.html:48
146
 #: searx/templates/pix-art/preferences.html:12
158
 #: searx/templates/pix-art/preferences.html:12
147
 msgid "Automatic"
159
 msgid "Automatic"
148
 msgstr "Automático"
160
 msgstr "Automático"
149
 
161
 
150
 #: searx/templates/courgette/preferences.html:24
162
 #: searx/templates/courgette/preferences.html:24
151
 #: searx/templates/default/preferences.html:25
163
 #: searx/templates/default/preferences.html:25
152
-#: searx/templates/oscar/preferences.html:54
164
+#: searx/templates/oscar/preferences.html:55
153
 #: searx/templates/pix-art/preferences.html:20
165
 #: searx/templates/pix-art/preferences.html:20
154
 msgid "Interface language"
166
 msgid "Interface language"
155
 msgstr "Idioma de la interfaz"
167
 msgstr "Idioma de la interfaz"
156
 
168
 
157
 #: searx/templates/courgette/preferences.html:34
169
 #: searx/templates/courgette/preferences.html:34
158
 #: searx/templates/default/preferences.html:35
170
 #: searx/templates/default/preferences.html:35
159
-#: searx/templates/oscar/preferences.html:64
171
+#: searx/templates/oscar/preferences.html:65
160
 msgid "Autocomplete"
172
 msgid "Autocomplete"
161
 msgstr "Autocompletar"
173
 msgstr "Autocompletar"
162
 
174
 
163
 #: searx/templates/courgette/preferences.html:45
175
 #: searx/templates/courgette/preferences.html:45
164
 #: searx/templates/default/preferences.html:46
176
 #: searx/templates/default/preferences.html:46
165
-#: searx/templates/oscar/preferences.html:75
177
+#: searx/templates/oscar/preferences.html:76
166
 msgid "Image proxy"
178
 msgid "Image proxy"
167
 msgstr "Imagen proxy"
179
 msgstr "Imagen proxy"
168
 
180
 
169
 #: searx/templates/courgette/preferences.html:48
181
 #: searx/templates/courgette/preferences.html:48
170
 #: searx/templates/default/preferences.html:49
182
 #: searx/templates/default/preferences.html:49
171
-#: searx/templates/oscar/preferences.html:79
183
+#: searx/templates/oscar/preferences.html:80
172
 msgid "Enabled"
184
 msgid "Enabled"
173
 msgstr "Activado"
185
 msgstr "Activado"
174
 
186
 
175
 #: searx/templates/courgette/preferences.html:49
187
 #: searx/templates/courgette/preferences.html:49
176
 #: searx/templates/default/preferences.html:50
188
 #: searx/templates/default/preferences.html:50
177
-#: searx/templates/oscar/preferences.html:80
189
+#: searx/templates/oscar/preferences.html:81
178
 msgid "Disabled"
190
 msgid "Disabled"
179
 msgstr "Desactivado"
191
 msgstr "Desactivado"
180
 
192
 
181
 #: searx/templates/courgette/preferences.html:54
193
 #: searx/templates/courgette/preferences.html:54
182
 #: searx/templates/default/preferences.html:55
194
 #: searx/templates/default/preferences.html:55
183
-#: searx/templates/oscar/preferences.html:84
195
+#: searx/templates/oscar/preferences.html:85
184
 #: searx/templates/pix-art/preferences.html:30
196
 #: searx/templates/pix-art/preferences.html:30
185
 msgid "Method"
197
 msgid "Method"
186
 msgstr "Método"
198
 msgstr "Método"
187
 
199
 
188
 #: searx/templates/courgette/preferences.html:63
200
 #: searx/templates/courgette/preferences.html:63
189
 #: searx/templates/default/preferences.html:64
201
 #: searx/templates/default/preferences.html:64
190
-#: searx/templates/oscar/preferences.html:93
202
+#: searx/templates/oscar/preferences.html:94
203
+#: searx/templates/oscar/preferences.html:144
204
+#: searx/templates/oscar/preferences.html:150
191
 msgid "SafeSearch"
205
 msgid "SafeSearch"
192
 msgstr "Búsqueda segura"
206
 msgstr "Búsqueda segura"
193
 
207
 
194
 #: searx/templates/courgette/preferences.html:66
208
 #: searx/templates/courgette/preferences.html:66
195
 #: searx/templates/default/preferences.html:67
209
 #: searx/templates/default/preferences.html:67
196
-#: searx/templates/oscar/preferences.html:97
210
+#: searx/templates/oscar/preferences.html:98
197
 msgid "Strict"
211
 msgid "Strict"
198
 msgstr "Riguroso"
212
 msgstr "Riguroso"
199
 
213
 
200
 #: searx/templates/courgette/preferences.html:67
214
 #: searx/templates/courgette/preferences.html:67
201
 #: searx/templates/default/preferences.html:68
215
 #: searx/templates/default/preferences.html:68
202
-#: searx/templates/oscar/preferences.html:98
216
+#: searx/templates/oscar/preferences.html:99
203
 msgid "Moderate"
217
 msgid "Moderate"
204
 msgstr "Moderado"
218
 msgstr "Moderado"
205
 
219
 
206
 #: searx/templates/courgette/preferences.html:68
220
 #: searx/templates/courgette/preferences.html:68
207
 #: searx/templates/default/preferences.html:69
221
 #: searx/templates/default/preferences.html:69
208
-#: searx/templates/oscar/preferences.html:99
222
+#: searx/templates/oscar/preferences.html:100
209
 msgid "None"
223
 msgid "None"
210
 msgstr "Ninguno"
224
 msgstr "Ninguno"
211
 
225
 
212
 #: searx/templates/courgette/preferences.html:73
226
 #: searx/templates/courgette/preferences.html:73
213
 #: searx/templates/default/preferences.html:74
227
 #: searx/templates/default/preferences.html:74
214
-#: searx/templates/oscar/preferences.html:103
228
+#: searx/templates/oscar/preferences.html:104
215
 #: searx/templates/pix-art/preferences.html:39
229
 #: searx/templates/pix-art/preferences.html:39
216
 msgid "Themes"
230
 msgid "Themes"
217
 msgstr "Temas"
231
 msgstr "Temas"
252
 
266
 
253
 #: searx/templates/courgette/preferences.html:100
267
 #: searx/templates/courgette/preferences.html:100
254
 #: searx/templates/default/preferences.html:88
268
 #: searx/templates/default/preferences.html:88
269
+#: searx/templates/oscar/preferences.html:142
270
+#: searx/templates/oscar/preferences.html:152
255
 #: searx/templates/pix-art/preferences.html:53
271
 #: searx/templates/pix-art/preferences.html:53
256
 msgid "Engine name"
272
 msgid "Engine name"
257
 msgstr "Nombre del motor de búsqueda"
273
 msgstr "Nombre del motor de búsqueda"
266
 #: searx/templates/default/preferences.html:90
282
 #: searx/templates/default/preferences.html:90
267
 #: searx/templates/default/preferences.html:101
283
 #: searx/templates/default/preferences.html:101
268
 #: searx/templates/oscar/macros.html:67
284
 #: searx/templates/oscar/macros.html:67
285
+#: searx/templates/oscar/preferences.html:141
286
+#: searx/templates/oscar/preferences.html:153
269
 #: searx/templates/pix-art/preferences.html:54
287
 #: searx/templates/pix-art/preferences.html:54
270
 #: searx/templates/pix-art/preferences.html:64
288
 #: searx/templates/pix-art/preferences.html:64
271
 msgid "Allow"
289
 msgid "Allow"
283
 
301
 
284
 #: searx/templates/courgette/preferences.html:122
302
 #: searx/templates/courgette/preferences.html:122
285
 #: searx/templates/default/preferences.html:110
303
 #: searx/templates/default/preferences.html:110
286
-#: searx/templates/oscar/preferences.html:180
304
+#: searx/templates/oscar/preferences.html:235
287
 #: searx/templates/pix-art/preferences.html:73
305
 #: searx/templates/pix-art/preferences.html:73
288
 msgid ""
306
 msgid ""
289
 "These settings are stored in your cookies, this allows us not to store this "
307
 "These settings are stored in your cookies, this allows us not to store this "
292
 
310
 
293
 #: searx/templates/courgette/preferences.html:124
311
 #: searx/templates/courgette/preferences.html:124
294
 #: searx/templates/default/preferences.html:112
312
 #: searx/templates/default/preferences.html:112
295
-#: searx/templates/oscar/preferences.html:182
313
+#: searx/templates/oscar/preferences.html:237
296
 #: searx/templates/pix-art/preferences.html:75
314
 #: searx/templates/pix-art/preferences.html:75
297
 msgid ""
315
 msgid ""
298
 "These cookies serve your sole convenience, we don't use these cookies to "
316
 "These cookies serve your sole convenience, we don't use these cookies to "
301
 
319
 
302
 #: searx/templates/courgette/preferences.html:127
320
 #: searx/templates/courgette/preferences.html:127
303
 #: searx/templates/default/preferences.html:115
321
 #: searx/templates/default/preferences.html:115
304
-#: searx/templates/oscar/preferences.html:185
322
+#: searx/templates/oscar/preferences.html:240
305
 #: searx/templates/pix-art/preferences.html:78
323
 #: searx/templates/pix-art/preferences.html:78
306
 msgid "save"
324
 msgid "save"
307
 msgstr "Guardar"
325
 msgstr "Guardar"
308
 
326
 
309
 #: searx/templates/courgette/preferences.html:128
327
 #: searx/templates/courgette/preferences.html:128
310
 #: searx/templates/default/preferences.html:116
328
 #: searx/templates/default/preferences.html:116
311
-#: searx/templates/oscar/preferences.html:187
329
+#: searx/templates/oscar/preferences.html:242
312
 msgid "Reset defaults"
330
 msgid "Reset defaults"
313
 msgstr "Restablecer configuración por defecto"
331
 msgstr "Restablecer configuración por defecto"
314
 
332
 
315
 #: searx/templates/courgette/preferences.html:129
333
 #: searx/templates/courgette/preferences.html:129
316
 #: searx/templates/default/preferences.html:117
334
 #: searx/templates/default/preferences.html:117
317
-#: searx/templates/oscar/preferences.html:186
335
+#: searx/templates/oscar/preferences.html:241
318
 #: searx/templates/pix-art/preferences.html:79
336
 #: searx/templates/pix-art/preferences.html:79
319
 msgid "back"
337
 msgid "back"
320
 msgstr "Atrás"
338
 msgstr "Atrás"
323
 #: searx/templates/default/results.html:13
341
 #: searx/templates/default/results.html:13
324
 #: searx/templates/oscar/results.html:110
342
 #: searx/templates/oscar/results.html:110
325
 msgid "Search URL"
343
 msgid "Search URL"
326
-msgstr "Buscar URL"
344
+msgstr "URL de la búsqueda"
327
 
345
 
328
 #: searx/templates/courgette/results.html:16
346
 #: searx/templates/courgette/results.html:16
329
 #: searx/templates/default/results.html:17
347
 #: searx/templates/default/results.html:17
413
 
431
 
414
 #: searx/templates/oscar/base.html:78
432
 #: searx/templates/oscar/base.html:78
415
 msgid "a privacy-respecting, hackable metasearch engine"
433
 msgid "a privacy-respecting, hackable metasearch engine"
416
-msgstr "un metabuscador hackeable que respeta la privacidad"
434
+msgstr "un metabuscador hackable que respeta la privacidad"
417
 
435
 
418
 #: searx/templates/oscar/navbar.html:9 searx/templates/oscar/navbar.html:33
436
 #: searx/templates/oscar/navbar.html:9 searx/templates/oscar/navbar.html:33
419
 msgid "home"
437
 msgid "home"
424
 msgstr "Cambiar navegación"
442
 msgstr "Cambiar navegación"
425
 
443
 
426
 #: searx/templates/oscar/preferences.html:17
444
 #: searx/templates/oscar/preferences.html:17
427
-#: searx/templates/oscar/preferences.html:24
445
+#: searx/templates/oscar/preferences.html:25
428
 msgid "General"
446
 msgid "General"
429
 msgstr "General"
447
 msgstr "General"
430
 
448
 
431
 #: searx/templates/oscar/preferences.html:18
449
 #: searx/templates/oscar/preferences.html:18
432
-#: searx/templates/oscar/preferences.html:125
450
+#: searx/templates/oscar/preferences.html:126
433
 msgid "Engines"
451
 msgid "Engines"
434
 msgstr "Motores"
452
 msgstr "Motores"
435
 
453
 
436
 #: searx/templates/oscar/preferences.html:19
454
 #: searx/templates/oscar/preferences.html:19
437
-#: searx/templates/oscar/preferences.html:159
455
+#: searx/templates/oscar/preferences.html:187
438
 msgid "Plugins"
456
 msgid "Plugins"
439
 msgstr "Plugins"
457
 msgstr "Plugins"
440
 
458
 
441
-#: searx/templates/oscar/preferences.html:44
459
+#: searx/templates/oscar/preferences.html:20
460
+#: searx/templates/oscar/preferences.html:210
461
+msgid "Cookies"
462
+msgstr "Cookies"
463
+
464
+#: searx/templates/oscar/preferences.html:45
442
 msgid "What language do you prefer for search?"
465
 msgid "What language do you prefer for search?"
443
 msgstr "¿Qué idioma prefieres para la búsqueda?"
466
 msgstr "¿Qué idioma prefieres para la búsqueda?"
444
 
467
 
445
-#: searx/templates/oscar/preferences.html:55
468
+#: searx/templates/oscar/preferences.html:56
446
 msgid "Change the language of the layout"
469
 msgid "Change the language of the layout"
447
 msgstr "Cambiar idioma de la interfaz"
470
 msgstr "Cambiar idioma de la interfaz"
448
 
471
 
449
-#: searx/templates/oscar/preferences.html:65
472
+#: searx/templates/oscar/preferences.html:66
450
 msgid "Find stuff as you type"
473
 msgid "Find stuff as you type"
451
 msgstr "Buscar mientras escribes"
474
 msgstr "Buscar mientras escribes"
452
 
475
 
453
-#: searx/templates/oscar/preferences.html:76
476
+#: searx/templates/oscar/preferences.html:77
454
 msgid "Proxying image results through searx"
477
 msgid "Proxying image results through searx"
455
 msgstr "Filtrando resultados de imágenes en searx"
478
 msgstr "Filtrando resultados de imágenes en searx"
456
 
479
 
457
-#: searx/templates/oscar/preferences.html:85
480
+#: searx/templates/oscar/preferences.html:86
458
 msgid ""
481
 msgid ""
459
 "Change how forms are submited, <a "
482
 "Change how forms are submited, <a "
460
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
483
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
461
 " rel=\"external\">learn more about request methods</a>"
484
 " rel=\"external\">learn more about request methods</a>"
462
 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>"
485
 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>"
463
 
486
 
464
-#: searx/templates/oscar/preferences.html:94
487
+#: searx/templates/oscar/preferences.html:95
465
 msgid "Filter content"
488
 msgid "Filter content"
466
 msgstr "Filtro de contenido"
489
 msgstr "Filtro de contenido"
467
 
490
 
468
-#: searx/templates/oscar/preferences.html:104
491
+#: searx/templates/oscar/preferences.html:105
469
 msgid "Change searx layout"
492
 msgid "Change searx layout"
470
 msgstr "Cambiar aspecto de searx"
493
 msgstr "Cambiar aspecto de searx"
471
 
494
 
495
+#: searx/templates/oscar/preferences.html:143
496
+#: searx/templates/oscar/preferences.html:151
497
+msgid "Shortcut"
498
+msgstr "Atajo"
499
+
500
+#: searx/templates/oscar/preferences.html:145
501
+#: searx/templates/oscar/preferences.html:149
502
+msgid "Avg. time"
503
+msgstr "Tiempo promedio"
504
+
505
+#: searx/templates/oscar/preferences.html:146
506
+#: searx/templates/oscar/preferences.html:148
507
+msgid "Max time"
508
+msgstr "Tiempo máximo"
509
+
510
+#: searx/templates/oscar/preferences.html:213
511
+msgid ""
512
+"This is the list of cookies and their values searx is storing on your "
513
+"computer."
514
+msgstr "Esta es la lista de cookies y sus valores que searx está almacenando en tu ordenador."
515
+
516
+#: searx/templates/oscar/preferences.html:214
517
+msgid "With that list, you can assess searx transparency."
518
+msgstr "Con esa lista puedes valorar la transparencia de searx."
519
+
520
+#: searx/templates/oscar/preferences.html:219
521
+msgid "Cookie name"
522
+msgstr "Nombre de la cookie"
523
+
524
+#: searx/templates/oscar/preferences.html:220
525
+msgid "Value"
526
+msgstr "Valor"
527
+
472
 #: searx/templates/oscar/results.html:7
528
 #: searx/templates/oscar/results.html:7
473
 msgid "Search results"
529
 msgid "Search results"
474
 msgstr "Buscar"
530
 msgstr "Buscar"
516
 
572
 
517
 #: searx/templates/oscar/messages/js_disabled.html:3
573
 #: searx/templates/oscar/messages/js_disabled.html:3
518
 msgid "Please enable JavaScript to use full functionality of this site."
574
 msgid "Please enable JavaScript to use full functionality of this site."
519
-msgstr "Por favor, activa JavaScript para poder usar esta página al 100%."
575
+msgstr "Por favor, activa JavaScript para poder usar esta página al 100%%."
576
+
577
+#: searx/templates/oscar/messages/no_cookies.html:3
578
+msgid "Information!"
579
+msgstr "¡Información!"
580
+
581
+#: searx/templates/oscar/messages/no_cookies.html:4
582
+msgid "currently, there are no cookies defined."
583
+msgstr "No existen cookies definidas actualmente."
520
 
584
 
521
 #: searx/templates/oscar/messages/no_data_available.html:4
585
 #: searx/templates/oscar/messages/no_data_available.html:4
522
 msgid "There is currently no data available. "
586
 msgid "There is currently no data available. "

BIN
searx/translations/fr/LC_MESSAGES/messages.mo 파일 보기


+ 116
- 54
searx/translations/fr/LC_MESSAGES/messages.po 파일 보기

13
 msgstr ""
13
 msgstr ""
14
 "Project-Id-Version: searx\n"
14
 "Project-Id-Version: searx\n"
15
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
15
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
16
-"POT-Creation-Date: 2015-04-26 18:57+0200\n"
17
-"PO-Revision-Date: 2015-05-14 00:01+0000\n"
16
+"POT-Creation-Date: 2015-08-24 11:44+0200\n"
17
+"PO-Revision-Date: 2015-08-24 15:35+0000\n"
18
 "Last-Translator: Cqoicebordel <david.barouh@wanadoo.fr>\n"
18
 "Last-Translator: Cqoicebordel <david.barouh@wanadoo.fr>\n"
19
-"Language-Team: French (http://www.transifex.com/projects/p/searx/language/fr/)\n"
19
+"Language-Team: French (http://www.transifex.com/asciimoo/searx/language/fr/)\n"
20
 "MIME-Version: 1.0\n"
20
 "MIME-Version: 1.0\n"
21
 "Content-Type: text/plain; charset=UTF-8\n"
21
 "Content-Type: text/plain; charset=UTF-8\n"
22
 "Content-Transfer-Encoding: 8bit\n"
22
 "Content-Transfer-Encoding: 8bit\n"
24
 "Language: fr\n"
24
 "Language: fr\n"
25
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
25
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
26
 
26
 
27
-#: searx/webapp.py:104
27
+#: searx/webapp.py:114
28
 msgid "files"
28
 msgid "files"
29
 msgstr "fichiers"
29
 msgstr "fichiers"
30
 
30
 
31
-#: searx/webapp.py:105
31
+#: searx/webapp.py:115
32
 msgid "general"
32
 msgid "general"
33
 msgstr "général"
33
 msgstr "général"
34
 
34
 
35
-#: searx/webapp.py:106
35
+#: searx/webapp.py:116
36
 msgid "music"
36
 msgid "music"
37
 msgstr "musique"
37
 msgstr "musique"
38
 
38
 
39
-#: searx/webapp.py:107
39
+#: searx/webapp.py:117
40
 msgid "social media"
40
 msgid "social media"
41
 msgstr "réseaux sociaux"
41
 msgstr "réseaux sociaux"
42
 
42
 
43
-#: searx/webapp.py:108
43
+#: searx/webapp.py:118
44
 msgid "images"
44
 msgid "images"
45
 msgstr "images"
45
 msgstr "images"
46
 
46
 
47
-#: searx/webapp.py:109
47
+#: searx/webapp.py:119
48
 msgid "videos"
48
 msgid "videos"
49
 msgstr "vidéos"
49
 msgstr "vidéos"
50
 
50
 
51
-#: searx/webapp.py:110
51
+#: searx/webapp.py:120
52
 msgid "it"
52
 msgid "it"
53
 msgstr "informatique"
53
 msgstr "informatique"
54
 
54
 
55
-#: searx/webapp.py:111
55
+#: searx/webapp.py:121
56
 msgid "news"
56
 msgid "news"
57
 msgstr "actus"
57
 msgstr "actus"
58
 
58
 
59
-#: searx/webapp.py:112
59
+#: searx/webapp.py:122
60
 msgid "map"
60
 msgid "map"
61
 msgstr "carte"
61
 msgstr "carte"
62
 
62
 
63
-#: searx/webapp.py:396
63
+#: searx/webapp.py:414
64
 msgid "{minutes} minute(s) ago"
64
 msgid "{minutes} minute(s) ago"
65
 msgstr "il y a {minutes} minute(s)"
65
 msgstr "il y a {minutes} minute(s)"
66
 
66
 
67
-#: searx/webapp.py:398
67
+#: searx/webapp.py:416
68
 msgid "{hours} hour(s), {minutes} minute(s) ago"
68
 msgid "{hours} hour(s), {minutes} minute(s) ago"
69
 msgstr "il y a {hours} heure(s), {minutes} minute(s)"
69
 msgstr "il y a {hours} heure(s), {minutes} minute(s)"
70
 
70
 
71
-#: searx/engines/__init__.py:182
71
+#: searx/engines/__init__.py:185
72
 msgid "Page loads (sec)"
72
 msgid "Page loads (sec)"
73
 msgstr "Chargement de la page (sec)"
73
 msgstr "Chargement de la page (sec)"
74
 
74
 
75
-#: searx/engines/__init__.py:186
75
+#: searx/engines/__init__.py:189
76
 msgid "Number of results"
76
 msgid "Number of results"
77
 msgstr "Nombre de résultats"
77
 msgstr "Nombre de résultats"
78
 
78
 
79
-#: searx/engines/__init__.py:190
79
+#: searx/engines/__init__.py:193
80
 msgid "Scores"
80
 msgid "Scores"
81
 msgstr "Score"
81
 msgstr "Score"
82
 
82
 
83
-#: searx/engines/__init__.py:194
83
+#: searx/engines/__init__.py:197
84
 msgid "Scores per result"
84
 msgid "Scores per result"
85
 msgstr "Score par résultat"
85
 msgstr "Score par résultat"
86
 
86
 
87
-#: searx/engines/__init__.py:198
87
+#: searx/engines/__init__.py:201
88
 msgid "Errors"
88
 msgid "Errors"
89
 msgstr "Erreurs"
89
 msgstr "Erreurs"
90
 
90
 
99
 #: searx/plugins/search_on_category_select.py:19
99
 #: searx/plugins/search_on_category_select.py:19
100
 msgid ""
100
 msgid ""
101
 "Perform search immediately if a category selected. Disable to select "
101
 "Perform search immediately if a category selected. Disable to select "
102
-"multiple categories."
103
-msgstr "Exécute la recherche immédiatement si une catégorie est sélectionnée. Désactiver pour sélectionner plusieurs catégories."
102
+"multiple categories. (JavaScript required)"
103
+msgstr "Exécute la recherche immédiatement si une catégorie est sélectionnée. Désactiver pour sélectionner plusieurs catégories (nécessite JavaScript)."
104
 
104
 
105
-#: searx/plugins/self_ip.py:19
106
-msgid "Display your source IP address if the query expression is \"ip\""
107
-msgstr "Afficher votre adresse IP si la requête contient \"ip\"."
105
+#: searx/plugins/self_info.py:20
106
+msgid ""
107
+"Displays your IP if the query is \"ip\" and your user agent if the query "
108
+"contains \"user agent\"."
109
+msgstr "Affiche votre adresse IP si la requête est \"ip\", et affiche votre user-agent si la requete contient \"user agent\"."
110
+
111
+#: searx/plugins/tracker_url_remover.py:26
112
+msgid "Tracker URL remover"
113
+msgstr "Nettoyeur d'URL de suivis"
114
+
115
+#: searx/plugins/tracker_url_remover.py:27
116
+msgid "Remove trackers arguments from the returned URL"
117
+msgstr "Retire les arguments utilisés pour vous pister des URL retournées"
108
 
118
 
109
 #: searx/templates/courgette/index.html:9
119
 #: searx/templates/courgette/index.html:9
110
 #: searx/templates/courgette/index.html:13
120
 #: searx/templates/courgette/index.html:13
132
 
142
 
133
 #: searx/templates/courgette/preferences.html:9
143
 #: searx/templates/courgette/preferences.html:9
134
 #: searx/templates/default/preferences.html:9
144
 #: searx/templates/default/preferences.html:9
135
-#: searx/templates/oscar/preferences.html:35
136
-#: searx/templates/oscar/preferences.html:37
145
+#: searx/templates/oscar/preferences.html:36
146
+#: searx/templates/oscar/preferences.html:38
137
 msgid "Default categories"
147
 msgid "Default categories"
138
 msgstr "Catégories par défaut"
148
 msgstr "Catégories par défaut"
139
 
149
 
140
 #: searx/templates/courgette/preferences.html:13
150
 #: searx/templates/courgette/preferences.html:13
141
 #: searx/templates/default/preferences.html:14
151
 #: searx/templates/default/preferences.html:14
142
-#: searx/templates/oscar/preferences.html:43
152
+#: searx/templates/oscar/preferences.html:44
143
 #: searx/templates/pix-art/preferences.html:9
153
 #: searx/templates/pix-art/preferences.html:9
144
 msgid "Search language"
154
 msgid "Search language"
145
 msgstr "Langue de recherche"
155
 msgstr "Langue de recherche"
146
 
156
 
147
 #: searx/templates/courgette/preferences.html:16
157
 #: searx/templates/courgette/preferences.html:16
148
 #: searx/templates/default/preferences.html:17
158
 #: searx/templates/default/preferences.html:17
149
-#: searx/templates/oscar/preferences.html:47
159
+#: searx/templates/oscar/preferences.html:48
150
 #: searx/templates/pix-art/preferences.html:12
160
 #: searx/templates/pix-art/preferences.html:12
151
 msgid "Automatic"
161
 msgid "Automatic"
152
 msgstr "Automatique"
162
 msgstr "Automatique"
153
 
163
 
154
 #: searx/templates/courgette/preferences.html:24
164
 #: searx/templates/courgette/preferences.html:24
155
 #: searx/templates/default/preferences.html:25
165
 #: searx/templates/default/preferences.html:25
156
-#: searx/templates/oscar/preferences.html:54
166
+#: searx/templates/oscar/preferences.html:55
157
 #: searx/templates/pix-art/preferences.html:20
167
 #: searx/templates/pix-art/preferences.html:20
158
 msgid "Interface language"
168
 msgid "Interface language"
159
 msgstr "Langue de l'interface"
169
 msgstr "Langue de l'interface"
160
 
170
 
161
 #: searx/templates/courgette/preferences.html:34
171
 #: searx/templates/courgette/preferences.html:34
162
 #: searx/templates/default/preferences.html:35
172
 #: searx/templates/default/preferences.html:35
163
-#: searx/templates/oscar/preferences.html:64
173
+#: searx/templates/oscar/preferences.html:65
164
 msgid "Autocomplete"
174
 msgid "Autocomplete"
165
 msgstr "Complétion automatique"
175
 msgstr "Complétion automatique"
166
 
176
 
167
 #: searx/templates/courgette/preferences.html:45
177
 #: searx/templates/courgette/preferences.html:45
168
 #: searx/templates/default/preferences.html:46
178
 #: searx/templates/default/preferences.html:46
169
-#: searx/templates/oscar/preferences.html:75
179
+#: searx/templates/oscar/preferences.html:76
170
 msgid "Image proxy"
180
 msgid "Image proxy"
171
 msgstr "Proxy d'images"
181
 msgstr "Proxy d'images"
172
 
182
 
173
 #: searx/templates/courgette/preferences.html:48
183
 #: searx/templates/courgette/preferences.html:48
174
 #: searx/templates/default/preferences.html:49
184
 #: searx/templates/default/preferences.html:49
175
-#: searx/templates/oscar/preferences.html:79
185
+#: searx/templates/oscar/preferences.html:80
176
 msgid "Enabled"
186
 msgid "Enabled"
177
 msgstr "Activé"
187
 msgstr "Activé"
178
 
188
 
179
 #: searx/templates/courgette/preferences.html:49
189
 #: searx/templates/courgette/preferences.html:49
180
 #: searx/templates/default/preferences.html:50
190
 #: searx/templates/default/preferences.html:50
181
-#: searx/templates/oscar/preferences.html:80
191
+#: searx/templates/oscar/preferences.html:81
182
 msgid "Disabled"
192
 msgid "Disabled"
183
 msgstr "Désactivé"
193
 msgstr "Désactivé"
184
 
194
 
185
 #: searx/templates/courgette/preferences.html:54
195
 #: searx/templates/courgette/preferences.html:54
186
 #: searx/templates/default/preferences.html:55
196
 #: searx/templates/default/preferences.html:55
187
-#: searx/templates/oscar/preferences.html:84
197
+#: searx/templates/oscar/preferences.html:85
188
 #: searx/templates/pix-art/preferences.html:30
198
 #: searx/templates/pix-art/preferences.html:30
189
 msgid "Method"
199
 msgid "Method"
190
 msgstr "Méthode"
200
 msgstr "Méthode"
191
 
201
 
192
 #: searx/templates/courgette/preferences.html:63
202
 #: searx/templates/courgette/preferences.html:63
193
 #: searx/templates/default/preferences.html:64
203
 #: searx/templates/default/preferences.html:64
194
-#: searx/templates/oscar/preferences.html:93
204
+#: searx/templates/oscar/preferences.html:94
205
+#: searx/templates/oscar/preferences.html:144
206
+#: searx/templates/oscar/preferences.html:150
195
 msgid "SafeSearch"
207
 msgid "SafeSearch"
196
 msgstr "Recherche sécurisée"
208
 msgstr "Recherche sécurisée"
197
 
209
 
198
 #: searx/templates/courgette/preferences.html:66
210
 #: searx/templates/courgette/preferences.html:66
199
 #: searx/templates/default/preferences.html:67
211
 #: searx/templates/default/preferences.html:67
200
-#: searx/templates/oscar/preferences.html:97
212
+#: searx/templates/oscar/preferences.html:98
201
 msgid "Strict"
213
 msgid "Strict"
202
 msgstr "Stricte"
214
 msgstr "Stricte"
203
 
215
 
204
 #: searx/templates/courgette/preferences.html:67
216
 #: searx/templates/courgette/preferences.html:67
205
 #: searx/templates/default/preferences.html:68
217
 #: searx/templates/default/preferences.html:68
206
-#: searx/templates/oscar/preferences.html:98
218
+#: searx/templates/oscar/preferences.html:99
207
 msgid "Moderate"
219
 msgid "Moderate"
208
 msgstr "Moyen"
220
 msgstr "Moyen"
209
 
221
 
210
 #: searx/templates/courgette/preferences.html:68
222
 #: searx/templates/courgette/preferences.html:68
211
 #: searx/templates/default/preferences.html:69
223
 #: searx/templates/default/preferences.html:69
212
-#: searx/templates/oscar/preferences.html:99
224
+#: searx/templates/oscar/preferences.html:100
213
 msgid "None"
225
 msgid "None"
214
 msgstr "Pas du tout"
226
 msgstr "Pas du tout"
215
 
227
 
216
 #: searx/templates/courgette/preferences.html:73
228
 #: searx/templates/courgette/preferences.html:73
217
 #: searx/templates/default/preferences.html:74
229
 #: searx/templates/default/preferences.html:74
218
-#: searx/templates/oscar/preferences.html:103
230
+#: searx/templates/oscar/preferences.html:104
219
 #: searx/templates/pix-art/preferences.html:39
231
 #: searx/templates/pix-art/preferences.html:39
220
 msgid "Themes"
232
 msgid "Themes"
221
 msgstr "Thème"
233
 msgstr "Thème"
256
 
268
 
257
 #: searx/templates/courgette/preferences.html:100
269
 #: searx/templates/courgette/preferences.html:100
258
 #: searx/templates/default/preferences.html:88
270
 #: searx/templates/default/preferences.html:88
271
+#: searx/templates/oscar/preferences.html:142
272
+#: searx/templates/oscar/preferences.html:152
259
 #: searx/templates/pix-art/preferences.html:53
273
 #: searx/templates/pix-art/preferences.html:53
260
 msgid "Engine name"
274
 msgid "Engine name"
261
 msgstr "Nom du moteur"
275
 msgstr "Nom du moteur"
270
 #: searx/templates/default/preferences.html:90
284
 #: searx/templates/default/preferences.html:90
271
 #: searx/templates/default/preferences.html:101
285
 #: searx/templates/default/preferences.html:101
272
 #: searx/templates/oscar/macros.html:67
286
 #: searx/templates/oscar/macros.html:67
287
+#: searx/templates/oscar/preferences.html:141
288
+#: searx/templates/oscar/preferences.html:153
273
 #: searx/templates/pix-art/preferences.html:54
289
 #: searx/templates/pix-art/preferences.html:54
274
 #: searx/templates/pix-art/preferences.html:64
290
 #: searx/templates/pix-art/preferences.html:64
275
 msgid "Allow"
291
 msgid "Allow"
287
 
303
 
288
 #: searx/templates/courgette/preferences.html:122
304
 #: searx/templates/courgette/preferences.html:122
289
 #: searx/templates/default/preferences.html:110
305
 #: searx/templates/default/preferences.html:110
290
-#: searx/templates/oscar/preferences.html:180
306
+#: searx/templates/oscar/preferences.html:235
291
 #: searx/templates/pix-art/preferences.html:73
307
 #: searx/templates/pix-art/preferences.html:73
292
 msgid ""
308
 msgid ""
293
 "These settings are stored in your cookies, this allows us not to store this "
309
 "These settings are stored in your cookies, this allows us not to store this "
296
 
312
 
297
 #: searx/templates/courgette/preferences.html:124
313
 #: searx/templates/courgette/preferences.html:124
298
 #: searx/templates/default/preferences.html:112
314
 #: searx/templates/default/preferences.html:112
299
-#: searx/templates/oscar/preferences.html:182
315
+#: searx/templates/oscar/preferences.html:237
300
 #: searx/templates/pix-art/preferences.html:75
316
 #: searx/templates/pix-art/preferences.html:75
301
 msgid ""
317
 msgid ""
302
 "These cookies serve your sole convenience, we don't use these cookies to "
318
 "These cookies serve your sole convenience, we don't use these cookies to "
305
 
321
 
306
 #: searx/templates/courgette/preferences.html:127
322
 #: searx/templates/courgette/preferences.html:127
307
 #: searx/templates/default/preferences.html:115
323
 #: searx/templates/default/preferences.html:115
308
-#: searx/templates/oscar/preferences.html:185
324
+#: searx/templates/oscar/preferences.html:240
309
 #: searx/templates/pix-art/preferences.html:78
325
 #: searx/templates/pix-art/preferences.html:78
310
 msgid "save"
326
 msgid "save"
311
 msgstr "enregistrer"
327
 msgstr "enregistrer"
312
 
328
 
313
 #: searx/templates/courgette/preferences.html:128
329
 #: searx/templates/courgette/preferences.html:128
314
 #: searx/templates/default/preferences.html:116
330
 #: searx/templates/default/preferences.html:116
315
-#: searx/templates/oscar/preferences.html:187
331
+#: searx/templates/oscar/preferences.html:242
316
 msgid "Reset defaults"
332
 msgid "Reset defaults"
317
 msgstr "Remettre les valeurs par défaut"
333
 msgstr "Remettre les valeurs par défaut"
318
 
334
 
319
 #: searx/templates/courgette/preferences.html:129
335
 #: searx/templates/courgette/preferences.html:129
320
 #: searx/templates/default/preferences.html:117
336
 #: searx/templates/default/preferences.html:117
321
-#: searx/templates/oscar/preferences.html:186
337
+#: searx/templates/oscar/preferences.html:241
322
 #: searx/templates/pix-art/preferences.html:79
338
 #: searx/templates/pix-art/preferences.html:79
323
 msgid "back"
339
 msgid "back"
324
 msgstr "retour"
340
 msgstr "retour"
428
 msgstr "Afficher/Masquer la navigation"
444
 msgstr "Afficher/Masquer la navigation"
429
 
445
 
430
 #: searx/templates/oscar/preferences.html:17
446
 #: searx/templates/oscar/preferences.html:17
431
-#: searx/templates/oscar/preferences.html:24
447
+#: searx/templates/oscar/preferences.html:25
432
 msgid "General"
448
 msgid "General"
433
 msgstr "Général"
449
 msgstr "Général"
434
 
450
 
435
 #: searx/templates/oscar/preferences.html:18
451
 #: searx/templates/oscar/preferences.html:18
436
-#: searx/templates/oscar/preferences.html:125
452
+#: searx/templates/oscar/preferences.html:126
437
 msgid "Engines"
453
 msgid "Engines"
438
 msgstr "Moteurs"
454
 msgstr "Moteurs"
439
 
455
 
440
 #: searx/templates/oscar/preferences.html:19
456
 #: searx/templates/oscar/preferences.html:19
441
-#: searx/templates/oscar/preferences.html:159
457
+#: searx/templates/oscar/preferences.html:187
442
 msgid "Plugins"
458
 msgid "Plugins"
443
 msgstr "Plugins"
459
 msgstr "Plugins"
444
 
460
 
445
-#: searx/templates/oscar/preferences.html:44
461
+#: searx/templates/oscar/preferences.html:20
462
+#: searx/templates/oscar/preferences.html:210
463
+msgid "Cookies"
464
+msgstr "Cookies"
465
+
466
+#: searx/templates/oscar/preferences.html:45
446
 msgid "What language do you prefer for search?"
467
 msgid "What language do you prefer for search?"
447
 msgstr "Dans quelle langue préférez-vous effectuer la recherche ?"
468
 msgstr "Dans quelle langue préférez-vous effectuer la recherche ?"
448
 
469
 
449
-#: searx/templates/oscar/preferences.html:55
470
+#: searx/templates/oscar/preferences.html:56
450
 msgid "Change the language of the layout"
471
 msgid "Change the language of the layout"
451
 msgstr "Changer la langue d'affichage"
472
 msgstr "Changer la langue d'affichage"
452
 
473
 
453
-#: searx/templates/oscar/preferences.html:65
474
+#: searx/templates/oscar/preferences.html:66
454
 msgid "Find stuff as you type"
475
 msgid "Find stuff as you type"
455
 msgstr "Chercher au fil de la saisie"
476
 msgstr "Chercher au fil de la saisie"
456
 
477
 
457
-#: searx/templates/oscar/preferences.html:76
478
+#: searx/templates/oscar/preferences.html:77
458
 msgid "Proxying image results through searx"
479
 msgid "Proxying image results through searx"
459
 msgstr "Proxifier les images de résultats à travers searx"
480
 msgstr "Proxifier les images de résultats à travers searx"
460
 
481
 
461
-#: searx/templates/oscar/preferences.html:85
482
+#: searx/templates/oscar/preferences.html:86
462
 msgid ""
483
 msgid ""
463
 "Change how forms are submited, <a "
484
 "Change how forms are submited, <a "
464
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
485
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
465
 " rel=\"external\">learn more about request methods</a>"
486
 " rel=\"external\">learn more about request methods</a>"
466
 msgstr "Permet de choisir comment la recherche est envoyée, <a href=\"https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol#M.C3.A9thodes\" rel=\"external\">en savoir plus sur les méthodes HTTP</a>"
487
 msgstr "Permet de choisir comment la recherche est envoyée, <a href=\"https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol#M.C3.A9thodes\" rel=\"external\">en savoir plus sur les méthodes HTTP</a>"
467
 
488
 
468
-#: searx/templates/oscar/preferences.html:94
489
+#: searx/templates/oscar/preferences.html:95
469
 msgid "Filter content"
490
 msgid "Filter content"
470
 msgstr "Filtrer le contenu"
491
 msgstr "Filtrer le contenu"
471
 
492
 
472
-#: searx/templates/oscar/preferences.html:104
493
+#: searx/templates/oscar/preferences.html:105
473
 msgid "Change searx layout"
494
 msgid "Change searx layout"
474
 msgstr "Modifier l'affichage de searx"
495
 msgstr "Modifier l'affichage de searx"
475
 
496
 
497
+#: searx/templates/oscar/preferences.html:143
498
+#: searx/templates/oscar/preferences.html:151
499
+msgid "Shortcut"
500
+msgstr "Raccourcis"
501
+
502
+#: searx/templates/oscar/preferences.html:145
503
+#: searx/templates/oscar/preferences.html:149
504
+msgid "Avg. time"
505
+msgstr "Temps moy."
506
+
507
+#: searx/templates/oscar/preferences.html:146
508
+#: searx/templates/oscar/preferences.html:148
509
+msgid "Max time"
510
+msgstr "Temps max"
511
+
512
+#: searx/templates/oscar/preferences.html:213
513
+msgid ""
514
+"This is the list of cookies and their values searx is storing on your "
515
+"computer."
516
+msgstr "C'est une liste de cookies et de leurs valeurs que searx enregistre sur votre ordinateur."
517
+
518
+#: searx/templates/oscar/preferences.html:214
519
+msgid "With that list, you can assess searx transparency."
520
+msgstr "Avec cette liste, vous pouvez juger de la transparence de searx."
521
+
522
+#: searx/templates/oscar/preferences.html:219
523
+msgid "Cookie name"
524
+msgstr "Nom du cookie"
525
+
526
+#: searx/templates/oscar/preferences.html:220
527
+msgid "Value"
528
+msgstr "Valeur"
529
+
476
 #: searx/templates/oscar/results.html:7
530
 #: searx/templates/oscar/results.html:7
477
 msgid "Search results"
531
 msgid "Search results"
478
 msgstr "Résultats de recherche"
532
 msgstr "Résultats de recherche"
522
 msgid "Please enable JavaScript to use full functionality of this site."
576
 msgid "Please enable JavaScript to use full functionality of this site."
523
 msgstr "Merci d'activer JavaScript pour utiliser toutes les fonctionnalités de ce site."
577
 msgstr "Merci d'activer JavaScript pour utiliser toutes les fonctionnalités de ce site."
524
 
578
 
579
+#: searx/templates/oscar/messages/no_cookies.html:3
580
+msgid "Information!"
581
+msgstr "Information !"
582
+
583
+#: searx/templates/oscar/messages/no_cookies.html:4
584
+msgid "currently, there are no cookies defined."
585
+msgstr "il n'y a pas de cookies définit pour le moment."
586
+
525
 #: searx/templates/oscar/messages/no_data_available.html:4
587
 #: searx/templates/oscar/messages/no_data_available.html:4
526
 msgid "There is currently no data available. "
588
 msgid "There is currently no data available. "
527
 msgstr "Aucune donnée disponible pour l'instant. "
589
 msgstr "Aucune donnée disponible pour l'instant. "

BIN
searx/translations/he/LC_MESSAGES/messages.mo 파일 보기


+ 118
- 56
searx/translations/he/LC_MESSAGES/messages.po 파일 보기

12
 msgstr ""
12
 msgstr ""
13
 "Project-Id-Version: searx\n"
13
 "Project-Id-Version: searx\n"
14
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
14
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
15
-"POT-Creation-Date: 2015-04-26 18:57+0200\n"
16
-"PO-Revision-Date: 2015-04-27 06:42+0000\n"
15
+"POT-Creation-Date: 2015-08-24 11:44+0200\n"
16
+"PO-Revision-Date: 2015-08-24 11:19+0000\n"
17
 "Last-Translator: GenghisKhan <genghiskhan@gmx.ca>\n"
17
 "Last-Translator: GenghisKhan <genghiskhan@gmx.ca>\n"
18
-"Language-Team: Hebrew (http://www.transifex.com/projects/p/searx/language/he/)\n"
18
+"Language-Team: Hebrew (http://www.transifex.com/asciimoo/searx/language/he/)\n"
19
 "MIME-Version: 1.0\n"
19
 "MIME-Version: 1.0\n"
20
 "Content-Type: text/plain; charset=UTF-8\n"
20
 "Content-Type: text/plain; charset=UTF-8\n"
21
 "Content-Transfer-Encoding: 8bit\n"
21
 "Content-Transfer-Encoding: 8bit\n"
23
 "Language: he\n"
23
 "Language: he\n"
24
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
24
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
25
 
25
 
26
-#: searx/webapp.py:104
26
+#: searx/webapp.py:114
27
 msgid "files"
27
 msgid "files"
28
 msgstr "קבצים"
28
 msgstr "קבצים"
29
 
29
 
30
-#: searx/webapp.py:105
30
+#: searx/webapp.py:115
31
 msgid "general"
31
 msgid "general"
32
 msgstr "כללי"
32
 msgstr "כללי"
33
 
33
 
34
-#: searx/webapp.py:106
34
+#: searx/webapp.py:116
35
 msgid "music"
35
 msgid "music"
36
 msgstr "מוזיקה"
36
 msgstr "מוזיקה"
37
 
37
 
38
-#: searx/webapp.py:107
38
+#: searx/webapp.py:117
39
 msgid "social media"
39
 msgid "social media"
40
 msgstr "מדיה חברתית"
40
 msgstr "מדיה חברתית"
41
 
41
 
42
-#: searx/webapp.py:108
42
+#: searx/webapp.py:118
43
 msgid "images"
43
 msgid "images"
44
 msgstr "תמונות"
44
 msgstr "תמונות"
45
 
45
 
46
-#: searx/webapp.py:109
46
+#: searx/webapp.py:119
47
 msgid "videos"
47
 msgid "videos"
48
 msgstr "סרטונים"
48
 msgstr "סרטונים"
49
 
49
 
50
-#: searx/webapp.py:110
50
+#: searx/webapp.py:120
51
 msgid "it"
51
 msgid "it"
52
 msgstr "IT"
52
 msgstr "IT"
53
 
53
 
54
-#: searx/webapp.py:111
54
+#: searx/webapp.py:121
55
 msgid "news"
55
 msgid "news"
56
 msgstr "חדשות"
56
 msgstr "חדשות"
57
 
57
 
58
-#: searx/webapp.py:112
58
+#: searx/webapp.py:122
59
 msgid "map"
59
 msgid "map"
60
 msgstr "מפה"
60
 msgstr "מפה"
61
 
61
 
62
-#: searx/webapp.py:396
62
+#: searx/webapp.py:414
63
 msgid "{minutes} minute(s) ago"
63
 msgid "{minutes} minute(s) ago"
64
 msgstr "לפני {minutes} דקות"
64
 msgstr "לפני {minutes} דקות"
65
 
65
 
66
-#: searx/webapp.py:398
66
+#: searx/webapp.py:416
67
 msgid "{hours} hour(s), {minutes} minute(s) ago"
67
 msgid "{hours} hour(s), {minutes} minute(s) ago"
68
 msgstr "לפני {hours} שעות, {minutes} דקות"
68
 msgstr "לפני {hours} שעות, {minutes} דקות"
69
 
69
 
70
-#: searx/engines/__init__.py:182
70
+#: searx/engines/__init__.py:185
71
 msgid "Page loads (sec)"
71
 msgid "Page loads (sec)"
72
 msgstr "עומס עמוד (שניות)"
72
 msgstr "עומס עמוד (שניות)"
73
 
73
 
74
-#: searx/engines/__init__.py:186
74
+#: searx/engines/__init__.py:189
75
 msgid "Number of results"
75
 msgid "Number of results"
76
 msgstr "מספר תוצאות"
76
 msgstr "מספר תוצאות"
77
 
77
 
78
-#: searx/engines/__init__.py:190
78
+#: searx/engines/__init__.py:193
79
 msgid "Scores"
79
 msgid "Scores"
80
 msgstr "דירוג"
80
 msgstr "דירוג"
81
 
81
 
82
-#: searx/engines/__init__.py:194
82
+#: searx/engines/__init__.py:197
83
 msgid "Scores per result"
83
 msgid "Scores per result"
84
 msgstr "דירוג לכל תוצאה"
84
 msgstr "דירוג לכל תוצאה"
85
 
85
 
86
-#: searx/engines/__init__.py:198
86
+#: searx/engines/__init__.py:201
87
 msgid "Errors"
87
 msgid "Errors"
88
 msgstr "שגיאות"
88
 msgstr "שגיאות"
89
 
89
 
98
 #: searx/plugins/search_on_category_select.py:19
98
 #: searx/plugins/search_on_category_select.py:19
99
 msgid ""
99
 msgid ""
100
 "Perform search immediately if a category selected. Disable to select "
100
 "Perform search immediately if a category selected. Disable to select "
101
-"multiple categories."
102
-msgstr "בצע חיפוש מיד לאחר שקטגוריה נבחרת. נטרל כדי לבחור מספר קטגוריות."
101
+"multiple categories. (JavaScript required)"
102
+msgstr "בצע חיפוש לאלתר כאשר קטגוריה נבחרת. נטרל כדי לבחור קטגוריות מרובות. (מצריך JavaScript)"
103
 
103
 
104
-#: searx/plugins/self_ip.py:19
105
-msgid "Display your source IP address if the query expression is \"ip\""
106
-msgstr "הצג מקור כתובת IP כאשר מילת שאילתא היא \"ip\""
104
+#: searx/plugins/self_info.py:20
105
+msgid ""
106
+"Displays your IP if the query is \"ip\" and your user agent if the query "
107
+"contains \"user agent\"."
108
+msgstr "מציגה כתובת IP המשוייכת לך אם השאילתא היא \"ip\" וגם סוכן משתמש אם שאילתא מכילה \"user agent\"."
109
+
110
+#: searx/plugins/tracker_url_remover.py:26
111
+msgid "Tracker URL remover"
112
+msgstr "מסיר URL גשש"
113
+
114
+#: searx/plugins/tracker_url_remover.py:27
115
+msgid "Remove trackers arguments from the returned URL"
116
+msgstr "הסר ארגומנטים מאתרים מתוך URL מוחזר"
107
 
117
 
108
 #: searx/templates/courgette/index.html:9
118
 #: searx/templates/courgette/index.html:9
109
 #: searx/templates/courgette/index.html:13
119
 #: searx/templates/courgette/index.html:13
131
 
141
 
132
 #: searx/templates/courgette/preferences.html:9
142
 #: searx/templates/courgette/preferences.html:9
133
 #: searx/templates/default/preferences.html:9
143
 #: searx/templates/default/preferences.html:9
134
-#: searx/templates/oscar/preferences.html:35
135
-#: searx/templates/oscar/preferences.html:37
144
+#: searx/templates/oscar/preferences.html:36
145
+#: searx/templates/oscar/preferences.html:38
136
 msgid "Default categories"
146
 msgid "Default categories"
137
 msgstr "קטגוריות ברירת מחדל"
147
 msgstr "קטגוריות ברירת מחדל"
138
 
148
 
139
 #: searx/templates/courgette/preferences.html:13
149
 #: searx/templates/courgette/preferences.html:13
140
 #: searx/templates/default/preferences.html:14
150
 #: searx/templates/default/preferences.html:14
141
-#: searx/templates/oscar/preferences.html:43
151
+#: searx/templates/oscar/preferences.html:44
142
 #: searx/templates/pix-art/preferences.html:9
152
 #: searx/templates/pix-art/preferences.html:9
143
 msgid "Search language"
153
 msgid "Search language"
144
 msgstr "שפת חיפוש"
154
 msgstr "שפת חיפוש"
145
 
155
 
146
 #: searx/templates/courgette/preferences.html:16
156
 #: searx/templates/courgette/preferences.html:16
147
 #: searx/templates/default/preferences.html:17
157
 #: searx/templates/default/preferences.html:17
148
-#: searx/templates/oscar/preferences.html:47
158
+#: searx/templates/oscar/preferences.html:48
149
 #: searx/templates/pix-art/preferences.html:12
159
 #: searx/templates/pix-art/preferences.html:12
150
 msgid "Automatic"
160
 msgid "Automatic"
151
 msgstr "אוטומטי"
161
 msgstr "אוטומטי"
152
 
162
 
153
 #: searx/templates/courgette/preferences.html:24
163
 #: searx/templates/courgette/preferences.html:24
154
 #: searx/templates/default/preferences.html:25
164
 #: searx/templates/default/preferences.html:25
155
-#: searx/templates/oscar/preferences.html:54
165
+#: searx/templates/oscar/preferences.html:55
156
 #: searx/templates/pix-art/preferences.html:20
166
 #: searx/templates/pix-art/preferences.html:20
157
 msgid "Interface language"
167
 msgid "Interface language"
158
 msgstr "שפת ממשק"
168
 msgstr "שפת ממשק"
159
 
169
 
160
 #: searx/templates/courgette/preferences.html:34
170
 #: searx/templates/courgette/preferences.html:34
161
 #: searx/templates/default/preferences.html:35
171
 #: searx/templates/default/preferences.html:35
162
-#: searx/templates/oscar/preferences.html:64
172
+#: searx/templates/oscar/preferences.html:65
163
 msgid "Autocomplete"
173
 msgid "Autocomplete"
164
 msgstr "השלמה אוטומטית"
174
 msgstr "השלמה אוטומטית"
165
 
175
 
166
 #: searx/templates/courgette/preferences.html:45
176
 #: searx/templates/courgette/preferences.html:45
167
 #: searx/templates/default/preferences.html:46
177
 #: searx/templates/default/preferences.html:46
168
-#: searx/templates/oscar/preferences.html:75
178
+#: searx/templates/oscar/preferences.html:76
169
 msgid "Image proxy"
179
 msgid "Image proxy"
170
 msgstr "proxy תמונה"
180
 msgstr "proxy תמונה"
171
 
181
 
172
 #: searx/templates/courgette/preferences.html:48
182
 #: searx/templates/courgette/preferences.html:48
173
 #: searx/templates/default/preferences.html:49
183
 #: searx/templates/default/preferences.html:49
174
-#: searx/templates/oscar/preferences.html:79
184
+#: searx/templates/oscar/preferences.html:80
175
 msgid "Enabled"
185
 msgid "Enabled"
176
 msgstr "מאופשר"
186
 msgstr "מאופשר"
177
 
187
 
178
 #: searx/templates/courgette/preferences.html:49
188
 #: searx/templates/courgette/preferences.html:49
179
 #: searx/templates/default/preferences.html:50
189
 #: searx/templates/default/preferences.html:50
180
-#: searx/templates/oscar/preferences.html:80
190
+#: searx/templates/oscar/preferences.html:81
181
 msgid "Disabled"
191
 msgid "Disabled"
182
 msgstr "מנוטרל"
192
 msgstr "מנוטרל"
183
 
193
 
184
 #: searx/templates/courgette/preferences.html:54
194
 #: searx/templates/courgette/preferences.html:54
185
 #: searx/templates/default/preferences.html:55
195
 #: searx/templates/default/preferences.html:55
186
-#: searx/templates/oscar/preferences.html:84
196
+#: searx/templates/oscar/preferences.html:85
187
 #: searx/templates/pix-art/preferences.html:30
197
 #: searx/templates/pix-art/preferences.html:30
188
 msgid "Method"
198
 msgid "Method"
189
 msgstr "שיטה"
199
 msgstr "שיטה"
190
 
200
 
191
 #: searx/templates/courgette/preferences.html:63
201
 #: searx/templates/courgette/preferences.html:63
192
 #: searx/templates/default/preferences.html:64
202
 #: searx/templates/default/preferences.html:64
193
-#: searx/templates/oscar/preferences.html:93
203
+#: searx/templates/oscar/preferences.html:94
204
+#: searx/templates/oscar/preferences.html:144
205
+#: searx/templates/oscar/preferences.html:150
194
 msgid "SafeSearch"
206
 msgid "SafeSearch"
195
 msgstr "חיפוש בטוח"
207
 msgstr "חיפוש בטוח"
196
 
208
 
197
 #: searx/templates/courgette/preferences.html:66
209
 #: searx/templates/courgette/preferences.html:66
198
 #: searx/templates/default/preferences.html:67
210
 #: searx/templates/default/preferences.html:67
199
-#: searx/templates/oscar/preferences.html:97
211
+#: searx/templates/oscar/preferences.html:98
200
 msgid "Strict"
212
 msgid "Strict"
201
 msgstr "מחמיר"
213
 msgstr "מחמיר"
202
 
214
 
203
 #: searx/templates/courgette/preferences.html:67
215
 #: searx/templates/courgette/preferences.html:67
204
 #: searx/templates/default/preferences.html:68
216
 #: searx/templates/default/preferences.html:68
205
-#: searx/templates/oscar/preferences.html:98
217
+#: searx/templates/oscar/preferences.html:99
206
 msgid "Moderate"
218
 msgid "Moderate"
207
 msgstr "מתון"
219
 msgstr "מתון"
208
 
220
 
209
 #: searx/templates/courgette/preferences.html:68
221
 #: searx/templates/courgette/preferences.html:68
210
 #: searx/templates/default/preferences.html:69
222
 #: searx/templates/default/preferences.html:69
211
-#: searx/templates/oscar/preferences.html:99
223
+#: searx/templates/oscar/preferences.html:100
212
 msgid "None"
224
 msgid "None"
213
 msgstr "בלי"
225
 msgstr "בלי"
214
 
226
 
215
 #: searx/templates/courgette/preferences.html:73
227
 #: searx/templates/courgette/preferences.html:73
216
 #: searx/templates/default/preferences.html:74
228
 #: searx/templates/default/preferences.html:74
217
-#: searx/templates/oscar/preferences.html:103
229
+#: searx/templates/oscar/preferences.html:104
218
 #: searx/templates/pix-art/preferences.html:39
230
 #: searx/templates/pix-art/preferences.html:39
219
 msgid "Themes"
231
 msgid "Themes"
220
 msgstr "מוטיבים"
232
 msgstr "מוטיבים"
251
 #: searx/templates/default/preferences.html:84
263
 #: searx/templates/default/preferences.html:84
252
 #: searx/templates/pix-art/preferences.html:49
264
 #: searx/templates/pix-art/preferences.html:49
253
 msgid "Currently used search engines"
265
 msgid "Currently used search engines"
254
-msgstr "מנועי חיפוש שבשימוש עתה"
266
+msgstr "מנועי חיפוש בשימוש עתה"
255
 
267
 
256
 #: searx/templates/courgette/preferences.html:100
268
 #: searx/templates/courgette/preferences.html:100
257
 #: searx/templates/default/preferences.html:88
269
 #: searx/templates/default/preferences.html:88
270
+#: searx/templates/oscar/preferences.html:142
271
+#: searx/templates/oscar/preferences.html:152
258
 #: searx/templates/pix-art/preferences.html:53
272
 #: searx/templates/pix-art/preferences.html:53
259
 msgid "Engine name"
273
 msgid "Engine name"
260
 msgstr "שם מנוע"
274
 msgstr "שם מנוע"
269
 #: searx/templates/default/preferences.html:90
283
 #: searx/templates/default/preferences.html:90
270
 #: searx/templates/default/preferences.html:101
284
 #: searx/templates/default/preferences.html:101
271
 #: searx/templates/oscar/macros.html:67
285
 #: searx/templates/oscar/macros.html:67
286
+#: searx/templates/oscar/preferences.html:141
287
+#: searx/templates/oscar/preferences.html:153
272
 #: searx/templates/pix-art/preferences.html:54
288
 #: searx/templates/pix-art/preferences.html:54
273
 #: searx/templates/pix-art/preferences.html:64
289
 #: searx/templates/pix-art/preferences.html:64
274
 msgid "Allow"
290
 msgid "Allow"
286
 
302
 
287
 #: searx/templates/courgette/preferences.html:122
303
 #: searx/templates/courgette/preferences.html:122
288
 #: searx/templates/default/preferences.html:110
304
 #: searx/templates/default/preferences.html:110
289
-#: searx/templates/oscar/preferences.html:180
305
+#: searx/templates/oscar/preferences.html:235
290
 #: searx/templates/pix-art/preferences.html:73
306
 #: searx/templates/pix-art/preferences.html:73
291
 msgid ""
307
 msgid ""
292
 "These settings are stored in your cookies, this allows us not to store this "
308
 "These settings are stored in your cookies, this allows us not to store this "
295
 
311
 
296
 #: searx/templates/courgette/preferences.html:124
312
 #: searx/templates/courgette/preferences.html:124
297
 #: searx/templates/default/preferences.html:112
313
 #: searx/templates/default/preferences.html:112
298
-#: searx/templates/oscar/preferences.html:182
314
+#: searx/templates/oscar/preferences.html:237
299
 #: searx/templates/pix-art/preferences.html:75
315
 #: searx/templates/pix-art/preferences.html:75
300
 msgid ""
316
 msgid ""
301
 "These cookies serve your sole convenience, we don't use these cookies to "
317
 "These cookies serve your sole convenience, we don't use these cookies to "
304
 
320
 
305
 #: searx/templates/courgette/preferences.html:127
321
 #: searx/templates/courgette/preferences.html:127
306
 #: searx/templates/default/preferences.html:115
322
 #: searx/templates/default/preferences.html:115
307
-#: searx/templates/oscar/preferences.html:185
323
+#: searx/templates/oscar/preferences.html:240
308
 #: searx/templates/pix-art/preferences.html:78
324
 #: searx/templates/pix-art/preferences.html:78
309
 msgid "save"
325
 msgid "save"
310
 msgstr "שמור"
326
 msgstr "שמור"
311
 
327
 
312
 #: searx/templates/courgette/preferences.html:128
328
 #: searx/templates/courgette/preferences.html:128
313
 #: searx/templates/default/preferences.html:116
329
 #: searx/templates/default/preferences.html:116
314
-#: searx/templates/oscar/preferences.html:187
330
+#: searx/templates/oscar/preferences.html:242
315
 msgid "Reset defaults"
331
 msgid "Reset defaults"
316
 msgstr "אפס ברירות מחדל"
332
 msgstr "אפס ברירות מחדל"
317
 
333
 
318
 #: searx/templates/courgette/preferences.html:129
334
 #: searx/templates/courgette/preferences.html:129
319
 #: searx/templates/default/preferences.html:117
335
 #: searx/templates/default/preferences.html:117
320
-#: searx/templates/oscar/preferences.html:186
336
+#: searx/templates/oscar/preferences.html:241
321
 #: searx/templates/pix-art/preferences.html:79
337
 #: searx/templates/pix-art/preferences.html:79
322
 msgid "back"
338
 msgid "back"
323
 msgstr "חזור"
339
 msgstr "חזור"
412
 
428
 
413
 #: searx/templates/oscar/base.html:78
429
 #: searx/templates/oscar/base.html:78
414
 msgid "Powered by"
430
 msgid "Powered by"
415
-msgstr "ממונע באמצעות"
431
+msgstr "מופעל באמצעות"
416
 
432
 
417
 #: searx/templates/oscar/base.html:78
433
 #: searx/templates/oscar/base.html:78
418
 msgid "a privacy-respecting, hackable metasearch engine"
434
 msgid "a privacy-respecting, hackable metasearch engine"
427
 msgstr "Toggle ניווט"
443
 msgstr "Toggle ניווט"
428
 
444
 
429
 #: searx/templates/oscar/preferences.html:17
445
 #: searx/templates/oscar/preferences.html:17
430
-#: searx/templates/oscar/preferences.html:24
446
+#: searx/templates/oscar/preferences.html:25
431
 msgid "General"
447
 msgid "General"
432
 msgstr "כללי"
448
 msgstr "כללי"
433
 
449
 
434
 #: searx/templates/oscar/preferences.html:18
450
 #: searx/templates/oscar/preferences.html:18
435
-#: searx/templates/oscar/preferences.html:125
451
+#: searx/templates/oscar/preferences.html:126
436
 msgid "Engines"
452
 msgid "Engines"
437
 msgstr "מנועים"
453
 msgstr "מנועים"
438
 
454
 
439
 #: searx/templates/oscar/preferences.html:19
455
 #: searx/templates/oscar/preferences.html:19
440
-#: searx/templates/oscar/preferences.html:159
456
+#: searx/templates/oscar/preferences.html:187
441
 msgid "Plugins"
457
 msgid "Plugins"
442
 msgstr "תוספים"
458
 msgstr "תוספים"
443
 
459
 
444
-#: searx/templates/oscar/preferences.html:44
460
+#: searx/templates/oscar/preferences.html:20
461
+#: searx/templates/oscar/preferences.html:210
462
+msgid "Cookies"
463
+msgstr "עוגיות"
464
+
465
+#: searx/templates/oscar/preferences.html:45
445
 msgid "What language do you prefer for search?"
466
 msgid "What language do you prefer for search?"
446
 msgstr "איזו שפה אתם מעדיפים לצורך חיפוש?"
467
 msgstr "איזו שפה אתם מעדיפים לצורך חיפוש?"
447
 
468
 
448
-#: searx/templates/oscar/preferences.html:55
469
+#: searx/templates/oscar/preferences.html:56
449
 msgid "Change the language of the layout"
470
 msgid "Change the language of the layout"
450
 msgstr "שינוי שפת הממשק"
471
 msgstr "שינוי שפת הממשק"
451
 
472
 
452
-#: searx/templates/oscar/preferences.html:65
473
+#: searx/templates/oscar/preferences.html:66
453
 msgid "Find stuff as you type"
474
 msgid "Find stuff as you type"
454
 msgstr "מציאת דברים בזמן הקלדה"
475
 msgstr "מציאת דברים בזמן הקלדה"
455
 
476
 
456
-#: searx/templates/oscar/preferences.html:76
477
+#: searx/templates/oscar/preferences.html:77
457
 msgid "Proxying image results through searx"
478
 msgid "Proxying image results through searx"
458
 msgstr "Proxying תוצאות תמונה מבעד searx"
479
 msgstr "Proxying תוצאות תמונה מבעד searx"
459
 
480
 
460
-#: searx/templates/oscar/preferences.html:85
481
+#: searx/templates/oscar/preferences.html:86
461
 msgid ""
482
 msgid ""
462
 "Change how forms are submited, <a "
483
 "Change how forms are submited, <a "
463
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
484
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
464
 " rel=\"external\">learn more about request methods</a>"
485
 " rel=\"external\">learn more about request methods</a>"
465
 msgstr "שינוי האופן בו טפסים נשלחים, <a href=\"http://he.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">למדו עוד אודות שיטות בקשה (request methods)</a>"
486
 msgstr "שינוי האופן בו טפסים נשלחים, <a href=\"http://he.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">למדו עוד אודות שיטות בקשה (request methods)</a>"
466
 
487
 
467
-#: searx/templates/oscar/preferences.html:94
488
+#: searx/templates/oscar/preferences.html:95
468
 msgid "Filter content"
489
 msgid "Filter content"
469
 msgstr "סנן תוכן"
490
 msgstr "סנן תוכן"
470
 
491
 
471
-#: searx/templates/oscar/preferences.html:104
492
+#: searx/templates/oscar/preferences.html:105
472
 msgid "Change searx layout"
493
 msgid "Change searx layout"
473
 msgstr "שינוי ממשק searx"
494
 msgstr "שינוי ממשק searx"
474
 
495
 
496
+#: searx/templates/oscar/preferences.html:143
497
+#: searx/templates/oscar/preferences.html:151
498
+msgid "Shortcut"
499
+msgstr "קיצור דרך"
500
+
501
+#: searx/templates/oscar/preferences.html:145
502
+#: searx/templates/oscar/preferences.html:149
503
+msgid "Avg. time"
504
+msgstr "זמן ממוצע"
505
+
506
+#: searx/templates/oscar/preferences.html:146
507
+#: searx/templates/oscar/preferences.html:148
508
+msgid "Max time"
509
+msgstr "זמן מירבי"
510
+
511
+#: searx/templates/oscar/preferences.html:213
512
+msgid ""
513
+"This is the list of cookies and their values searx is storing on your "
514
+"computer."
515
+msgstr "זוהי רשימה של עוגיות וערכיהן אשר searx מאחסנת על המחשב שלך."
516
+
517
+#: searx/templates/oscar/preferences.html:214
518
+msgid "With that list, you can assess searx transparency."
519
+msgstr "בעזרת רשימה זו, באפשרותך לגשת אל searx transparency."
520
+
521
+#: searx/templates/oscar/preferences.html:219
522
+msgid "Cookie name"
523
+msgstr "שם עוגייה"
524
+
525
+#: searx/templates/oscar/preferences.html:220
526
+msgid "Value"
527
+msgstr "ערך"
528
+
475
 #: searx/templates/oscar/results.html:7
529
 #: searx/templates/oscar/results.html:7
476
 msgid "Search results"
530
 msgid "Search results"
477
 msgstr "תוצאות חיפוש"
531
 msgstr "תוצאות חיפוש"
521
 msgid "Please enable JavaScript to use full functionality of this site."
575
 msgid "Please enable JavaScript to use full functionality of this site."
522
 msgstr "אנא אפשרו JavaScript כדי לנצל תפקודיות מלאה של אתר זה."
576
 msgstr "אנא אפשרו JavaScript כדי לנצל תפקודיות מלאה של אתר זה."
523
 
577
 
578
+#: searx/templates/oscar/messages/no_cookies.html:3
579
+msgid "Information!"
580
+msgstr "מידע!"
581
+
582
+#: searx/templates/oscar/messages/no_cookies.html:4
583
+msgid "currently, there are no cookies defined."
584
+msgstr "ברגע זה, אין עוגיות מוגדרות."
585
+
524
 #: searx/templates/oscar/messages/no_data_available.html:4
586
 #: searx/templates/oscar/messages/no_data_available.html:4
525
 msgid "There is currently no data available. "
587
 msgid "There is currently no data available. "
526
 msgstr "אין כעת מידע זמין. "
588
 msgstr "אין כעת מידע זמין. "

BIN
searx/translations/hu/LC_MESSAGES/messages.mo 파일 보기


+ 116
- 54
searx/translations/hu/LC_MESSAGES/messages.po 파일 보기

9
 msgstr ""
9
 msgstr ""
10
 "Project-Id-Version: searx\n"
10
 "Project-Id-Version: searx\n"
11
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
11
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
12
-"POT-Creation-Date: 2015-04-26 18:57+0200\n"
13
-"PO-Revision-Date: 2015-04-26 17:13+0000\n"
12
+"POT-Creation-Date: 2015-08-24 11:44+0200\n"
13
+"PO-Revision-Date: 2015-08-25 16:29+0000\n"
14
 "Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
14
 "Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
15
-"Language-Team: Hungarian (http://www.transifex.com/projects/p/searx/language/hu/)\n"
15
+"Language-Team: Hungarian (http://www.transifex.com/asciimoo/searx/language/hu/)\n"
16
 "MIME-Version: 1.0\n"
16
 "MIME-Version: 1.0\n"
17
 "Content-Type: text/plain; charset=UTF-8\n"
17
 "Content-Type: text/plain; charset=UTF-8\n"
18
 "Content-Transfer-Encoding: 8bit\n"
18
 "Content-Transfer-Encoding: 8bit\n"
20
 "Language: hu\n"
20
 "Language: hu\n"
21
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
21
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
22
 
22
 
23
-#: searx/webapp.py:104
23
+#: searx/webapp.py:114
24
 msgid "files"
24
 msgid "files"
25
 msgstr "fájlok"
25
 msgstr "fájlok"
26
 
26
 
27
-#: searx/webapp.py:105
27
+#: searx/webapp.py:115
28
 msgid "general"
28
 msgid "general"
29
 msgstr "általános"
29
 msgstr "általános"
30
 
30
 
31
-#: searx/webapp.py:106
31
+#: searx/webapp.py:116
32
 msgid "music"
32
 msgid "music"
33
 msgstr "zene"
33
 msgstr "zene"
34
 
34
 
35
-#: searx/webapp.py:107
35
+#: searx/webapp.py:117
36
 msgid "social media"
36
 msgid "social media"
37
 msgstr "közösségi média"
37
 msgstr "közösségi média"
38
 
38
 
39
-#: searx/webapp.py:108
39
+#: searx/webapp.py:118
40
 msgid "images"
40
 msgid "images"
41
 msgstr "képek"
41
 msgstr "képek"
42
 
42
 
43
-#: searx/webapp.py:109
43
+#: searx/webapp.py:119
44
 msgid "videos"
44
 msgid "videos"
45
 msgstr "videók"
45
 msgstr "videók"
46
 
46
 
47
-#: searx/webapp.py:110
47
+#: searx/webapp.py:120
48
 msgid "it"
48
 msgid "it"
49
 msgstr "it"
49
 msgstr "it"
50
 
50
 
51
-#: searx/webapp.py:111
51
+#: searx/webapp.py:121
52
 msgid "news"
52
 msgid "news"
53
 msgstr "hírek"
53
 msgstr "hírek"
54
 
54
 
55
-#: searx/webapp.py:112
55
+#: searx/webapp.py:122
56
 msgid "map"
56
 msgid "map"
57
 msgstr "térkép"
57
 msgstr "térkép"
58
 
58
 
59
-#: searx/webapp.py:396
59
+#: searx/webapp.py:414
60
 msgid "{minutes} minute(s) ago"
60
 msgid "{minutes} minute(s) ago"
61
 msgstr "{minutes} perce"
61
 msgstr "{minutes} perce"
62
 
62
 
63
-#: searx/webapp.py:398
63
+#: searx/webapp.py:416
64
 msgid "{hours} hour(s), {minutes} minute(s) ago"
64
 msgid "{hours} hour(s), {minutes} minute(s) ago"
65
 msgstr "{hours} óra, {minutes} perce"
65
 msgstr "{hours} óra, {minutes} perce"
66
 
66
 
67
-#: searx/engines/__init__.py:182
67
+#: searx/engines/__init__.py:185
68
 msgid "Page loads (sec)"
68
 msgid "Page loads (sec)"
69
 msgstr "Válaszidők (sec)"
69
 msgstr "Válaszidők (sec)"
70
 
70
 
71
-#: searx/engines/__init__.py:186
71
+#: searx/engines/__init__.py:189
72
 msgid "Number of results"
72
 msgid "Number of results"
73
 msgstr "Találatok száma"
73
 msgstr "Találatok száma"
74
 
74
 
75
-#: searx/engines/__init__.py:190
75
+#: searx/engines/__init__.py:193
76
 msgid "Scores"
76
 msgid "Scores"
77
 msgstr "Pontszámok"
77
 msgstr "Pontszámok"
78
 
78
 
79
-#: searx/engines/__init__.py:194
79
+#: searx/engines/__init__.py:197
80
 msgid "Scores per result"
80
 msgid "Scores per result"
81
 msgstr "Pontszámok találatonként"
81
 msgstr "Pontszámok találatonként"
82
 
82
 
83
-#: searx/engines/__init__.py:198
83
+#: searx/engines/__init__.py:201
84
 msgid "Errors"
84
 msgid "Errors"
85
 msgstr "Hibák"
85
 msgstr "Hibák"
86
 
86
 
95
 #: searx/plugins/search_on_category_select.py:19
95
 #: searx/plugins/search_on_category_select.py:19
96
 msgid ""
96
 msgid ""
97
 "Perform search immediately if a category selected. Disable to select "
97
 "Perform search immediately if a category selected. Disable to select "
98
-"multiple categories."
99
-msgstr "Keresés megkezdése kategória kiválasztáskor. Több kategória kiválasztásához deaktiválás szükséges"
98
+"multiple categories. (JavaScript required)"
99
+msgstr "Keresés megkezdése kategória kiválasztáskor. Több kategória kiválasztásához deaktiválás szükséges. (Javascript szükséges)"
100
 
100
 
101
-#: searx/plugins/self_ip.py:19
102
-msgid "Display your source IP address if the query expression is \"ip\""
103
-msgstr "Saját IP cím megjelenítése az \"ip\" kulcsszóra keresve"
101
+#: searx/plugins/self_info.py:20
102
+msgid ""
103
+"Displays your IP if the query is \"ip\" and your user agent if the query "
104
+"contains \"user agent\"."
105
+msgstr "Saját IP cím, user agent megjelenítés az \"ip\", \"user agent\" szavakra keresve."
106
+
107
+#: searx/plugins/tracker_url_remover.py:26
108
+msgid "Tracker URL remover"
109
+msgstr "Tracker URL eltávolítás"
110
+
111
+#: searx/plugins/tracker_url_remover.py:27
112
+msgid "Remove trackers arguments from the returned URL"
113
+msgstr "Felhasználó követéshez használt találati URL paraméterek eltávolítása"
104
 
114
 
105
 #: searx/templates/courgette/index.html:9
115
 #: searx/templates/courgette/index.html:9
106
 #: searx/templates/courgette/index.html:13
116
 #: searx/templates/courgette/index.html:13
128
 
138
 
129
 #: searx/templates/courgette/preferences.html:9
139
 #: searx/templates/courgette/preferences.html:9
130
 #: searx/templates/default/preferences.html:9
140
 #: searx/templates/default/preferences.html:9
131
-#: searx/templates/oscar/preferences.html:35
132
-#: searx/templates/oscar/preferences.html:37
141
+#: searx/templates/oscar/preferences.html:36
142
+#: searx/templates/oscar/preferences.html:38
133
 msgid "Default categories"
143
 msgid "Default categories"
134
 msgstr "Alapértelmezett kategóriák"
144
 msgstr "Alapértelmezett kategóriák"
135
 
145
 
136
 #: searx/templates/courgette/preferences.html:13
146
 #: searx/templates/courgette/preferences.html:13
137
 #: searx/templates/default/preferences.html:14
147
 #: searx/templates/default/preferences.html:14
138
-#: searx/templates/oscar/preferences.html:43
148
+#: searx/templates/oscar/preferences.html:44
139
 #: searx/templates/pix-art/preferences.html:9
149
 #: searx/templates/pix-art/preferences.html:9
140
 msgid "Search language"
150
 msgid "Search language"
141
 msgstr "Keresés nyelve"
151
 msgstr "Keresés nyelve"
142
 
152
 
143
 #: searx/templates/courgette/preferences.html:16
153
 #: searx/templates/courgette/preferences.html:16
144
 #: searx/templates/default/preferences.html:17
154
 #: searx/templates/default/preferences.html:17
145
-#: searx/templates/oscar/preferences.html:47
155
+#: searx/templates/oscar/preferences.html:48
146
 #: searx/templates/pix-art/preferences.html:12
156
 #: searx/templates/pix-art/preferences.html:12
147
 msgid "Automatic"
157
 msgid "Automatic"
148
 msgstr "Automatikus"
158
 msgstr "Automatikus"
149
 
159
 
150
 #: searx/templates/courgette/preferences.html:24
160
 #: searx/templates/courgette/preferences.html:24
151
 #: searx/templates/default/preferences.html:25
161
 #: searx/templates/default/preferences.html:25
152
-#: searx/templates/oscar/preferences.html:54
162
+#: searx/templates/oscar/preferences.html:55
153
 #: searx/templates/pix-art/preferences.html:20
163
 #: searx/templates/pix-art/preferences.html:20
154
 msgid "Interface language"
164
 msgid "Interface language"
155
 msgstr "Felület nyelve"
165
 msgstr "Felület nyelve"
156
 
166
 
157
 #: searx/templates/courgette/preferences.html:34
167
 #: searx/templates/courgette/preferences.html:34
158
 #: searx/templates/default/preferences.html:35
168
 #: searx/templates/default/preferences.html:35
159
-#: searx/templates/oscar/preferences.html:64
169
+#: searx/templates/oscar/preferences.html:65
160
 msgid "Autocomplete"
170
 msgid "Autocomplete"
161
 msgstr "Automatikus kiegészítés"
171
 msgstr "Automatikus kiegészítés"
162
 
172
 
163
 #: searx/templates/courgette/preferences.html:45
173
 #: searx/templates/courgette/preferences.html:45
164
 #: searx/templates/default/preferences.html:46
174
 #: searx/templates/default/preferences.html:46
165
-#: searx/templates/oscar/preferences.html:75
175
+#: searx/templates/oscar/preferences.html:76
166
 msgid "Image proxy"
176
 msgid "Image proxy"
167
 msgstr "Kép proxy"
177
 msgstr "Kép proxy"
168
 
178
 
169
 #: searx/templates/courgette/preferences.html:48
179
 #: searx/templates/courgette/preferences.html:48
170
 #: searx/templates/default/preferences.html:49
180
 #: searx/templates/default/preferences.html:49
171
-#: searx/templates/oscar/preferences.html:79
181
+#: searx/templates/oscar/preferences.html:80
172
 msgid "Enabled"
182
 msgid "Enabled"
173
 msgstr "Engedélyez"
183
 msgstr "Engedélyez"
174
 
184
 
175
 #: searx/templates/courgette/preferences.html:49
185
 #: searx/templates/courgette/preferences.html:49
176
 #: searx/templates/default/preferences.html:50
186
 #: searx/templates/default/preferences.html:50
177
-#: searx/templates/oscar/preferences.html:80
187
+#: searx/templates/oscar/preferences.html:81
178
 msgid "Disabled"
188
 msgid "Disabled"
179
 msgstr "Inaktivál"
189
 msgstr "Inaktivál"
180
 
190
 
181
 #: searx/templates/courgette/preferences.html:54
191
 #: searx/templates/courgette/preferences.html:54
182
 #: searx/templates/default/preferences.html:55
192
 #: searx/templates/default/preferences.html:55
183
-#: searx/templates/oscar/preferences.html:84
193
+#: searx/templates/oscar/preferences.html:85
184
 #: searx/templates/pix-art/preferences.html:30
194
 #: searx/templates/pix-art/preferences.html:30
185
 msgid "Method"
195
 msgid "Method"
186
 msgstr "Method"
196
 msgstr "Method"
187
 
197
 
188
 #: searx/templates/courgette/preferences.html:63
198
 #: searx/templates/courgette/preferences.html:63
189
 #: searx/templates/default/preferences.html:64
199
 #: searx/templates/default/preferences.html:64
190
-#: searx/templates/oscar/preferences.html:93
200
+#: searx/templates/oscar/preferences.html:94
201
+#: searx/templates/oscar/preferences.html:144
202
+#: searx/templates/oscar/preferences.html:150
191
 msgid "SafeSearch"
203
 msgid "SafeSearch"
192
 msgstr "Felnőtt tartalom szűrés"
204
 msgstr "Felnőtt tartalom szűrés"
193
 
205
 
194
 #: searx/templates/courgette/preferences.html:66
206
 #: searx/templates/courgette/preferences.html:66
195
 #: searx/templates/default/preferences.html:67
207
 #: searx/templates/default/preferences.html:67
196
-#: searx/templates/oscar/preferences.html:97
208
+#: searx/templates/oscar/preferences.html:98
197
 msgid "Strict"
209
 msgid "Strict"
198
 msgstr "Erős"
210
 msgstr "Erős"
199
 
211
 
200
 #: searx/templates/courgette/preferences.html:67
212
 #: searx/templates/courgette/preferences.html:67
201
 #: searx/templates/default/preferences.html:68
213
 #: searx/templates/default/preferences.html:68
202
-#: searx/templates/oscar/preferences.html:98
214
+#: searx/templates/oscar/preferences.html:99
203
 msgid "Moderate"
215
 msgid "Moderate"
204
 msgstr "Enyhe"
216
 msgstr "Enyhe"
205
 
217
 
206
 #: searx/templates/courgette/preferences.html:68
218
 #: searx/templates/courgette/preferences.html:68
207
 #: searx/templates/default/preferences.html:69
219
 #: searx/templates/default/preferences.html:69
208
-#: searx/templates/oscar/preferences.html:99
220
+#: searx/templates/oscar/preferences.html:100
209
 msgid "None"
221
 msgid "None"
210
 msgstr "Nincs"
222
 msgstr "Nincs"
211
 
223
 
212
 #: searx/templates/courgette/preferences.html:73
224
 #: searx/templates/courgette/preferences.html:73
213
 #: searx/templates/default/preferences.html:74
225
 #: searx/templates/default/preferences.html:74
214
-#: searx/templates/oscar/preferences.html:103
226
+#: searx/templates/oscar/preferences.html:104
215
 #: searx/templates/pix-art/preferences.html:39
227
 #: searx/templates/pix-art/preferences.html:39
216
 msgid "Themes"
228
 msgid "Themes"
217
 msgstr "Megjelenés"
229
 msgstr "Megjelenés"
252
 
264
 
253
 #: searx/templates/courgette/preferences.html:100
265
 #: searx/templates/courgette/preferences.html:100
254
 #: searx/templates/default/preferences.html:88
266
 #: searx/templates/default/preferences.html:88
267
+#: searx/templates/oscar/preferences.html:142
268
+#: searx/templates/oscar/preferences.html:152
255
 #: searx/templates/pix-art/preferences.html:53
269
 #: searx/templates/pix-art/preferences.html:53
256
 msgid "Engine name"
270
 msgid "Engine name"
257
 msgstr "Kereső neve"
271
 msgstr "Kereső neve"
266
 #: searx/templates/default/preferences.html:90
280
 #: searx/templates/default/preferences.html:90
267
 #: searx/templates/default/preferences.html:101
281
 #: searx/templates/default/preferences.html:101
268
 #: searx/templates/oscar/macros.html:67
282
 #: searx/templates/oscar/macros.html:67
283
+#: searx/templates/oscar/preferences.html:141
284
+#: searx/templates/oscar/preferences.html:153
269
 #: searx/templates/pix-art/preferences.html:54
285
 #: searx/templates/pix-art/preferences.html:54
270
 #: searx/templates/pix-art/preferences.html:64
286
 #: searx/templates/pix-art/preferences.html:64
271
 msgid "Allow"
287
 msgid "Allow"
283
 
299
 
284
 #: searx/templates/courgette/preferences.html:122
300
 #: searx/templates/courgette/preferences.html:122
285
 #: searx/templates/default/preferences.html:110
301
 #: searx/templates/default/preferences.html:110
286
-#: searx/templates/oscar/preferences.html:180
302
+#: searx/templates/oscar/preferences.html:235
287
 #: searx/templates/pix-art/preferences.html:73
303
 #: searx/templates/pix-art/preferences.html:73
288
 msgid ""
304
 msgid ""
289
 "These settings are stored in your cookies, this allows us not to store this "
305
 "These settings are stored in your cookies, this allows us not to store this "
292
 
308
 
293
 #: searx/templates/courgette/preferences.html:124
309
 #: searx/templates/courgette/preferences.html:124
294
 #: searx/templates/default/preferences.html:112
310
 #: searx/templates/default/preferences.html:112
295
-#: searx/templates/oscar/preferences.html:182
311
+#: searx/templates/oscar/preferences.html:237
296
 #: searx/templates/pix-art/preferences.html:75
312
 #: searx/templates/pix-art/preferences.html:75
297
 msgid ""
313
 msgid ""
298
 "These cookies serve your sole convenience, we don't use these cookies to "
314
 "These cookies serve your sole convenience, we don't use these cookies to "
301
 
317
 
302
 #: searx/templates/courgette/preferences.html:127
318
 #: searx/templates/courgette/preferences.html:127
303
 #: searx/templates/default/preferences.html:115
319
 #: searx/templates/default/preferences.html:115
304
-#: searx/templates/oscar/preferences.html:185
320
+#: searx/templates/oscar/preferences.html:240
305
 #: searx/templates/pix-art/preferences.html:78
321
 #: searx/templates/pix-art/preferences.html:78
306
 msgid "save"
322
 msgid "save"
307
 msgstr "mentés"
323
 msgstr "mentés"
308
 
324
 
309
 #: searx/templates/courgette/preferences.html:128
325
 #: searx/templates/courgette/preferences.html:128
310
 #: searx/templates/default/preferences.html:116
326
 #: searx/templates/default/preferences.html:116
311
-#: searx/templates/oscar/preferences.html:187
327
+#: searx/templates/oscar/preferences.html:242
312
 msgid "Reset defaults"
328
 msgid "Reset defaults"
313
 msgstr "Alapbeállítások visszaállítása"
329
 msgstr "Alapbeállítások visszaállítása"
314
 
330
 
315
 #: searx/templates/courgette/preferences.html:129
331
 #: searx/templates/courgette/preferences.html:129
316
 #: searx/templates/default/preferences.html:117
332
 #: searx/templates/default/preferences.html:117
317
-#: searx/templates/oscar/preferences.html:186
333
+#: searx/templates/oscar/preferences.html:241
318
 #: searx/templates/pix-art/preferences.html:79
334
 #: searx/templates/pix-art/preferences.html:79
319
 msgid "back"
335
 msgid "back"
320
 msgstr "vissza"
336
 msgstr "vissza"
424
 msgstr "Navigáció megjelenítés"
440
 msgstr "Navigáció megjelenítés"
425
 
441
 
426
 #: searx/templates/oscar/preferences.html:17
442
 #: searx/templates/oscar/preferences.html:17
427
-#: searx/templates/oscar/preferences.html:24
443
+#: searx/templates/oscar/preferences.html:25
428
 msgid "General"
444
 msgid "General"
429
 msgstr "Általános"
445
 msgstr "Általános"
430
 
446
 
431
 #: searx/templates/oscar/preferences.html:18
447
 #: searx/templates/oscar/preferences.html:18
432
-#: searx/templates/oscar/preferences.html:125
448
+#: searx/templates/oscar/preferences.html:126
433
 msgid "Engines"
449
 msgid "Engines"
434
 msgstr "Kereső motorok"
450
 msgstr "Kereső motorok"
435
 
451
 
436
 #: searx/templates/oscar/preferences.html:19
452
 #: searx/templates/oscar/preferences.html:19
437
-#: searx/templates/oscar/preferences.html:159
453
+#: searx/templates/oscar/preferences.html:187
438
 msgid "Plugins"
454
 msgid "Plugins"
439
 msgstr "Pluginek"
455
 msgstr "Pluginek"
440
 
456
 
441
-#: searx/templates/oscar/preferences.html:44
457
+#: searx/templates/oscar/preferences.html:20
458
+#: searx/templates/oscar/preferences.html:210
459
+msgid "Cookies"
460
+msgstr "Sütik"
461
+
462
+#: searx/templates/oscar/preferences.html:45
442
 msgid "What language do you prefer for search?"
463
 msgid "What language do you prefer for search?"
443
 msgstr "Preferált keresési nyelv"
464
 msgstr "Preferált keresési nyelv"
444
 
465
 
445
-#: searx/templates/oscar/preferences.html:55
466
+#: searx/templates/oscar/preferences.html:56
446
 msgid "Change the language of the layout"
467
 msgid "Change the language of the layout"
447
 msgstr "Felület nyelve"
468
 msgstr "Felület nyelve"
448
 
469
 
449
-#: searx/templates/oscar/preferences.html:65
470
+#: searx/templates/oscar/preferences.html:66
450
 msgid "Find stuff as you type"
471
 msgid "Find stuff as you type"
451
 msgstr "Autómatikus kereső kifejezés kiegészítés"
472
 msgstr "Autómatikus kereső kifejezés kiegészítés"
452
 
473
 
453
-#: searx/templates/oscar/preferences.html:76
474
+#: searx/templates/oscar/preferences.html:77
454
 msgid "Proxying image results through searx"
475
 msgid "Proxying image results through searx"
455
 msgstr "Kép találatok betöltése searx-ön keresztül"
476
 msgstr "Kép találatok betöltése searx-ön keresztül"
456
 
477
 
457
-#: searx/templates/oscar/preferences.html:85
478
+#: searx/templates/oscar/preferences.html:86
458
 msgid ""
479
 msgid ""
459
 "Change how forms are submited, <a "
480
 "Change how forms are submited, <a "
460
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
481
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
461
 " rel=\"external\">learn more about request methods</a>"
482
 " rel=\"external\">learn more about request methods</a>"
462
 msgstr "Keresés metódusa (<a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">bővebben</a>)"
483
 msgstr "Keresés metódusa (<a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">bővebben</a>)"
463
 
484
 
464
-#: searx/templates/oscar/preferences.html:94
485
+#: searx/templates/oscar/preferences.html:95
465
 msgid "Filter content"
486
 msgid "Filter content"
466
 msgstr "Tartalom szűrés"
487
 msgstr "Tartalom szűrés"
467
 
488
 
468
-#: searx/templates/oscar/preferences.html:104
489
+#: searx/templates/oscar/preferences.html:105
469
 msgid "Change searx layout"
490
 msgid "Change searx layout"
470
 msgstr "Megjelenés"
491
 msgstr "Megjelenés"
471
 
492
 
493
+#: searx/templates/oscar/preferences.html:143
494
+#: searx/templates/oscar/preferences.html:151
495
+msgid "Shortcut"
496
+msgstr "Rövidítés"
497
+
498
+#: searx/templates/oscar/preferences.html:145
499
+#: searx/templates/oscar/preferences.html:149
500
+msgid "Avg. time"
501
+msgstr "Átlag idő"
502
+
503
+#: searx/templates/oscar/preferences.html:146
504
+#: searx/templates/oscar/preferences.html:148
505
+msgid "Max time"
506
+msgstr "Maximális idő"
507
+
508
+#: searx/templates/oscar/preferences.html:213
509
+msgid ""
510
+"This is the list of cookies and their values searx is storing on your "
511
+"computer."
512
+msgstr "Searx által használt sütik listája."
513
+
514
+#: searx/templates/oscar/preferences.html:214
515
+msgid "With that list, you can assess searx transparency."
516
+msgstr "Ez a lista a kereső transzparenciáját hivatott megmutatni."
517
+
518
+#: searx/templates/oscar/preferences.html:219
519
+msgid "Cookie name"
520
+msgstr "Süti név"
521
+
522
+#: searx/templates/oscar/preferences.html:220
523
+msgid "Value"
524
+msgstr "Érték"
525
+
472
 #: searx/templates/oscar/results.html:7
526
 #: searx/templates/oscar/results.html:7
473
 msgid "Search results"
527
 msgid "Search results"
474
 msgstr "Keresési eredmények"
528
 msgstr "Keresési eredmények"
518
 msgid "Please enable JavaScript to use full functionality of this site."
572
 msgid "Please enable JavaScript to use full functionality of this site."
519
 msgstr "Engedélyezze a javascript-et a teljes funkcionalitás használathoz"
573
 msgstr "Engedélyezze a javascript-et a teljes funkcionalitás használathoz"
520
 
574
 
575
+#: searx/templates/oscar/messages/no_cookies.html:3
576
+msgid "Information!"
577
+msgstr "Figyelem!"
578
+
579
+#: searx/templates/oscar/messages/no_cookies.html:4
580
+msgid "currently, there are no cookies defined."
581
+msgstr "jelenleg nincs süti definiálva"
582
+
521
 #: searx/templates/oscar/messages/no_data_available.html:4
583
 #: searx/templates/oscar/messages/no_data_available.html:4
522
 msgid "There is currently no data available. "
584
 msgid "There is currently no data available. "
523
 msgstr "Nincs megjeleníthető adat."
585
 msgstr "Nincs megjeleníthető adat."

BIN
searx/translations/it/LC_MESSAGES/messages.mo 파일 보기


+ 115
- 53
searx/translations/it/LC_MESSAGES/messages.po 파일 보기

9
 msgstr ""
9
 msgstr ""
10
 "Project-Id-Version: searx\n"
10
 "Project-Id-Version: searx\n"
11
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
11
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
12
-"POT-Creation-Date: 2015-04-26 18:57+0200\n"
13
-"PO-Revision-Date: 2015-04-26 17:02+0000\n"
14
-"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
15
-"Language-Team: Italian (http://www.transifex.com/projects/p/searx/language/it/)\n"
12
+"POT-Creation-Date: 2015-08-24 11:44+0200\n"
13
+"PO-Revision-Date: 2015-08-24 09:45+0000\n"
14
+"Last-Translator: pointhi\n"
15
+"Language-Team: Italian (http://www.transifex.com/asciimoo/searx/language/it/)\n"
16
 "MIME-Version: 1.0\n"
16
 "MIME-Version: 1.0\n"
17
 "Content-Type: text/plain; charset=UTF-8\n"
17
 "Content-Type: text/plain; charset=UTF-8\n"
18
 "Content-Transfer-Encoding: 8bit\n"
18
 "Content-Transfer-Encoding: 8bit\n"
20
 "Language: it\n"
20
 "Language: it\n"
21
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
21
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
22
 
22
 
23
-#: searx/webapp.py:104
23
+#: searx/webapp.py:114
24
 msgid "files"
24
 msgid "files"
25
 msgstr "documenti"
25
 msgstr "documenti"
26
 
26
 
27
-#: searx/webapp.py:105
27
+#: searx/webapp.py:115
28
 msgid "general"
28
 msgid "general"
29
 msgstr "generale"
29
 msgstr "generale"
30
 
30
 
31
-#: searx/webapp.py:106
31
+#: searx/webapp.py:116
32
 msgid "music"
32
 msgid "music"
33
 msgstr "musica"
33
 msgstr "musica"
34
 
34
 
35
-#: searx/webapp.py:107
35
+#: searx/webapp.py:117
36
 msgid "social media"
36
 msgid "social media"
37
 msgstr "social media"
37
 msgstr "social media"
38
 
38
 
39
-#: searx/webapp.py:108
39
+#: searx/webapp.py:118
40
 msgid "images"
40
 msgid "images"
41
 msgstr "immagini"
41
 msgstr "immagini"
42
 
42
 
43
-#: searx/webapp.py:109
43
+#: searx/webapp.py:119
44
 msgid "videos"
44
 msgid "videos"
45
 msgstr "video"
45
 msgstr "video"
46
 
46
 
47
-#: searx/webapp.py:110
47
+#: searx/webapp.py:120
48
 msgid "it"
48
 msgid "it"
49
 msgstr "it"
49
 msgstr "it"
50
 
50
 
51
-#: searx/webapp.py:111
51
+#: searx/webapp.py:121
52
 msgid "news"
52
 msgid "news"
53
 msgstr "notizie"
53
 msgstr "notizie"
54
 
54
 
55
-#: searx/webapp.py:112
55
+#: searx/webapp.py:122
56
 msgid "map"
56
 msgid "map"
57
 msgstr "mappe"
57
 msgstr "mappe"
58
 
58
 
59
-#: searx/webapp.py:396
59
+#: searx/webapp.py:414
60
 msgid "{minutes} minute(s) ago"
60
 msgid "{minutes} minute(s) ago"
61
 msgstr "di {minutes} minuti fa"
61
 msgstr "di {minutes} minuti fa"
62
 
62
 
63
-#: searx/webapp.py:398
63
+#: searx/webapp.py:416
64
 msgid "{hours} hour(s), {minutes} minute(s) ago"
64
 msgid "{hours} hour(s), {minutes} minute(s) ago"
65
 msgstr "di {ore} h e {minutes} minuti fa"
65
 msgstr "di {ore} h e {minutes} minuti fa"
66
 
66
 
67
-#: searx/engines/__init__.py:182
67
+#: searx/engines/__init__.py:185
68
 msgid "Page loads (sec)"
68
 msgid "Page loads (sec)"
69
 msgstr " Caricamento della pagina (secondi)"
69
 msgstr " Caricamento della pagina (secondi)"
70
 
70
 
71
-#: searx/engines/__init__.py:186
71
+#: searx/engines/__init__.py:189
72
 msgid "Number of results"
72
 msgid "Number of results"
73
 msgstr "Risultati ottenuti"
73
 msgstr "Risultati ottenuti"
74
 
74
 
75
-#: searx/engines/__init__.py:190
75
+#: searx/engines/__init__.py:193
76
 msgid "Scores"
76
 msgid "Scores"
77
 msgstr "Punteggio"
77
 msgstr "Punteggio"
78
 
78
 
79
-#: searx/engines/__init__.py:194
79
+#: searx/engines/__init__.py:197
80
 msgid "Scores per result"
80
 msgid "Scores per result"
81
 msgstr "Punteggio per risultato"
81
 msgstr "Punteggio per risultato"
82
 
82
 
83
-#: searx/engines/__init__.py:198
83
+#: searx/engines/__init__.py:201
84
 msgid "Errors"
84
 msgid "Errors"
85
 msgstr "Errori"
85
 msgstr "Errori"
86
 
86
 
95
 #: searx/plugins/search_on_category_select.py:19
95
 #: searx/plugins/search_on_category_select.py:19
96
 msgid ""
96
 msgid ""
97
 "Perform search immediately if a category selected. Disable to select "
97
 "Perform search immediately if a category selected. Disable to select "
98
-"multiple categories."
98
+"multiple categories. (JavaScript required)"
99
 msgstr ""
99
 msgstr ""
100
 
100
 
101
-#: searx/plugins/self_ip.py:19
102
-msgid "Display your source IP address if the query expression is \"ip\""
101
+#: searx/plugins/self_info.py:20
102
+msgid ""
103
+"Displays your IP if the query is \"ip\" and your user agent if the query "
104
+"contains \"user agent\"."
105
+msgstr ""
106
+
107
+#: searx/plugins/tracker_url_remover.py:26
108
+msgid "Tracker URL remover"
109
+msgstr ""
110
+
111
+#: searx/plugins/tracker_url_remover.py:27
112
+msgid "Remove trackers arguments from the returned URL"
103
 msgstr ""
113
 msgstr ""
104
 
114
 
105
 #: searx/templates/courgette/index.html:9
115
 #: searx/templates/courgette/index.html:9
128
 
138
 
129
 #: searx/templates/courgette/preferences.html:9
139
 #: searx/templates/courgette/preferences.html:9
130
 #: searx/templates/default/preferences.html:9
140
 #: searx/templates/default/preferences.html:9
131
-#: searx/templates/oscar/preferences.html:35
132
-#: searx/templates/oscar/preferences.html:37
141
+#: searx/templates/oscar/preferences.html:36
142
+#: searx/templates/oscar/preferences.html:38
133
 msgid "Default categories"
143
 msgid "Default categories"
134
 msgstr "Categorie predefinite"
144
 msgstr "Categorie predefinite"
135
 
145
 
136
 #: searx/templates/courgette/preferences.html:13
146
 #: searx/templates/courgette/preferences.html:13
137
 #: searx/templates/default/preferences.html:14
147
 #: searx/templates/default/preferences.html:14
138
-#: searx/templates/oscar/preferences.html:43
148
+#: searx/templates/oscar/preferences.html:44
139
 #: searx/templates/pix-art/preferences.html:9
149
 #: searx/templates/pix-art/preferences.html:9
140
 msgid "Search language"
150
 msgid "Search language"
141
 msgstr "Lingua di ricerca"
151
 msgstr "Lingua di ricerca"
142
 
152
 
143
 #: searx/templates/courgette/preferences.html:16
153
 #: searx/templates/courgette/preferences.html:16
144
 #: searx/templates/default/preferences.html:17
154
 #: searx/templates/default/preferences.html:17
145
-#: searx/templates/oscar/preferences.html:47
155
+#: searx/templates/oscar/preferences.html:48
146
 #: searx/templates/pix-art/preferences.html:12
156
 #: searx/templates/pix-art/preferences.html:12
147
 msgid "Automatic"
157
 msgid "Automatic"
148
 msgstr "Automatico"
158
 msgstr "Automatico"
149
 
159
 
150
 #: searx/templates/courgette/preferences.html:24
160
 #: searx/templates/courgette/preferences.html:24
151
 #: searx/templates/default/preferences.html:25
161
 #: searx/templates/default/preferences.html:25
152
-#: searx/templates/oscar/preferences.html:54
162
+#: searx/templates/oscar/preferences.html:55
153
 #: searx/templates/pix-art/preferences.html:20
163
 #: searx/templates/pix-art/preferences.html:20
154
 msgid "Interface language"
164
 msgid "Interface language"
155
 msgstr "Linguaggio dell'interfaccia"
165
 msgstr "Linguaggio dell'interfaccia"
156
 
166
 
157
 #: searx/templates/courgette/preferences.html:34
167
 #: searx/templates/courgette/preferences.html:34
158
 #: searx/templates/default/preferences.html:35
168
 #: searx/templates/default/preferences.html:35
159
-#: searx/templates/oscar/preferences.html:64
169
+#: searx/templates/oscar/preferences.html:65
160
 msgid "Autocomplete"
170
 msgid "Autocomplete"
161
 msgstr "Completamento automatico"
171
 msgstr "Completamento automatico"
162
 
172
 
163
 #: searx/templates/courgette/preferences.html:45
173
 #: searx/templates/courgette/preferences.html:45
164
 #: searx/templates/default/preferences.html:46
174
 #: searx/templates/default/preferences.html:46
165
-#: searx/templates/oscar/preferences.html:75
175
+#: searx/templates/oscar/preferences.html:76
166
 msgid "Image proxy"
176
 msgid "Image proxy"
167
 msgstr ""
177
 msgstr ""
168
 
178
 
169
 #: searx/templates/courgette/preferences.html:48
179
 #: searx/templates/courgette/preferences.html:48
170
 #: searx/templates/default/preferences.html:49
180
 #: searx/templates/default/preferences.html:49
171
-#: searx/templates/oscar/preferences.html:79
181
+#: searx/templates/oscar/preferences.html:80
172
 msgid "Enabled"
182
 msgid "Enabled"
173
 msgstr ""
183
 msgstr ""
174
 
184
 
175
 #: searx/templates/courgette/preferences.html:49
185
 #: searx/templates/courgette/preferences.html:49
176
 #: searx/templates/default/preferences.html:50
186
 #: searx/templates/default/preferences.html:50
177
-#: searx/templates/oscar/preferences.html:80
187
+#: searx/templates/oscar/preferences.html:81
178
 msgid "Disabled"
188
 msgid "Disabled"
179
 msgstr ""
189
 msgstr ""
180
 
190
 
181
 #: searx/templates/courgette/preferences.html:54
191
 #: searx/templates/courgette/preferences.html:54
182
 #: searx/templates/default/preferences.html:55
192
 #: searx/templates/default/preferences.html:55
183
-#: searx/templates/oscar/preferences.html:84
193
+#: searx/templates/oscar/preferences.html:85
184
 #: searx/templates/pix-art/preferences.html:30
194
 #: searx/templates/pix-art/preferences.html:30
185
 msgid "Method"
195
 msgid "Method"
186
 msgstr "Metodo"
196
 msgstr "Metodo"
187
 
197
 
188
 #: searx/templates/courgette/preferences.html:63
198
 #: searx/templates/courgette/preferences.html:63
189
 #: searx/templates/default/preferences.html:64
199
 #: searx/templates/default/preferences.html:64
190
-#: searx/templates/oscar/preferences.html:93
200
+#: searx/templates/oscar/preferences.html:94
201
+#: searx/templates/oscar/preferences.html:144
202
+#: searx/templates/oscar/preferences.html:150
191
 msgid "SafeSearch"
203
 msgid "SafeSearch"
192
 msgstr ""
204
 msgstr ""
193
 
205
 
194
 #: searx/templates/courgette/preferences.html:66
206
 #: searx/templates/courgette/preferences.html:66
195
 #: searx/templates/default/preferences.html:67
207
 #: searx/templates/default/preferences.html:67
196
-#: searx/templates/oscar/preferences.html:97
208
+#: searx/templates/oscar/preferences.html:98
197
 msgid "Strict"
209
 msgid "Strict"
198
 msgstr ""
210
 msgstr ""
199
 
211
 
200
 #: searx/templates/courgette/preferences.html:67
212
 #: searx/templates/courgette/preferences.html:67
201
 #: searx/templates/default/preferences.html:68
213
 #: searx/templates/default/preferences.html:68
202
-#: searx/templates/oscar/preferences.html:98
214
+#: searx/templates/oscar/preferences.html:99
203
 msgid "Moderate"
215
 msgid "Moderate"
204
 msgstr ""
216
 msgstr ""
205
 
217
 
206
 #: searx/templates/courgette/preferences.html:68
218
 #: searx/templates/courgette/preferences.html:68
207
 #: searx/templates/default/preferences.html:69
219
 #: searx/templates/default/preferences.html:69
208
-#: searx/templates/oscar/preferences.html:99
220
+#: searx/templates/oscar/preferences.html:100
209
 msgid "None"
221
 msgid "None"
210
 msgstr ""
222
 msgstr ""
211
 
223
 
212
 #: searx/templates/courgette/preferences.html:73
224
 #: searx/templates/courgette/preferences.html:73
213
 #: searx/templates/default/preferences.html:74
225
 #: searx/templates/default/preferences.html:74
214
-#: searx/templates/oscar/preferences.html:103
226
+#: searx/templates/oscar/preferences.html:104
215
 #: searx/templates/pix-art/preferences.html:39
227
 #: searx/templates/pix-art/preferences.html:39
216
 msgid "Themes"
228
 msgid "Themes"
217
 msgstr "Grafica"
229
 msgstr "Grafica"
252
 
264
 
253
 #: searx/templates/courgette/preferences.html:100
265
 #: searx/templates/courgette/preferences.html:100
254
 #: searx/templates/default/preferences.html:88
266
 #: searx/templates/default/preferences.html:88
267
+#: searx/templates/oscar/preferences.html:142
268
+#: searx/templates/oscar/preferences.html:152
255
 #: searx/templates/pix-art/preferences.html:53
269
 #: searx/templates/pix-art/preferences.html:53
256
 msgid "Engine name"
270
 msgid "Engine name"
257
 msgstr "Nome del motore"
271
 msgstr "Nome del motore"
266
 #: searx/templates/default/preferences.html:90
280
 #: searx/templates/default/preferences.html:90
267
 #: searx/templates/default/preferences.html:101
281
 #: searx/templates/default/preferences.html:101
268
 #: searx/templates/oscar/macros.html:67
282
 #: searx/templates/oscar/macros.html:67
283
+#: searx/templates/oscar/preferences.html:141
284
+#: searx/templates/oscar/preferences.html:153
269
 #: searx/templates/pix-art/preferences.html:54
285
 #: searx/templates/pix-art/preferences.html:54
270
 #: searx/templates/pix-art/preferences.html:64
286
 #: searx/templates/pix-art/preferences.html:64
271
 msgid "Allow"
287
 msgid "Allow"
283
 
299
 
284
 #: searx/templates/courgette/preferences.html:122
300
 #: searx/templates/courgette/preferences.html:122
285
 #: searx/templates/default/preferences.html:110
301
 #: searx/templates/default/preferences.html:110
286
-#: searx/templates/oscar/preferences.html:180
302
+#: searx/templates/oscar/preferences.html:235
287
 #: searx/templates/pix-art/preferences.html:73
303
 #: searx/templates/pix-art/preferences.html:73
288
 msgid ""
304
 msgid ""
289
 "These settings are stored in your cookies, this allows us not to store this "
305
 "These settings are stored in your cookies, this allows us not to store this "
292
 
308
 
293
 #: searx/templates/courgette/preferences.html:124
309
 #: searx/templates/courgette/preferences.html:124
294
 #: searx/templates/default/preferences.html:112
310
 #: searx/templates/default/preferences.html:112
295
-#: searx/templates/oscar/preferences.html:182
311
+#: searx/templates/oscar/preferences.html:237
296
 #: searx/templates/pix-art/preferences.html:75
312
 #: searx/templates/pix-art/preferences.html:75
297
 msgid ""
313
 msgid ""
298
 "These cookies serve your sole convenience, we don't use these cookies to "
314
 "These cookies serve your sole convenience, we don't use these cookies to "
301
 
317
 
302
 #: searx/templates/courgette/preferences.html:127
318
 #: searx/templates/courgette/preferences.html:127
303
 #: searx/templates/default/preferences.html:115
319
 #: searx/templates/default/preferences.html:115
304
-#: searx/templates/oscar/preferences.html:185
320
+#: searx/templates/oscar/preferences.html:240
305
 #: searx/templates/pix-art/preferences.html:78
321
 #: searx/templates/pix-art/preferences.html:78
306
 msgid "save"
322
 msgid "save"
307
 msgstr "salva"
323
 msgstr "salva"
308
 
324
 
309
 #: searx/templates/courgette/preferences.html:128
325
 #: searx/templates/courgette/preferences.html:128
310
 #: searx/templates/default/preferences.html:116
326
 #: searx/templates/default/preferences.html:116
311
-#: searx/templates/oscar/preferences.html:187
327
+#: searx/templates/oscar/preferences.html:242
312
 msgid "Reset defaults"
328
 msgid "Reset defaults"
313
 msgstr ""
329
 msgstr ""
314
 
330
 
315
 #: searx/templates/courgette/preferences.html:129
331
 #: searx/templates/courgette/preferences.html:129
316
 #: searx/templates/default/preferences.html:117
332
 #: searx/templates/default/preferences.html:117
317
-#: searx/templates/oscar/preferences.html:186
333
+#: searx/templates/oscar/preferences.html:241
318
 #: searx/templates/pix-art/preferences.html:79
334
 #: searx/templates/pix-art/preferences.html:79
319
 msgid "back"
335
 msgid "back"
320
 msgstr "indietro"
336
 msgstr "indietro"
424
 msgstr ""
440
 msgstr ""
425
 
441
 
426
 #: searx/templates/oscar/preferences.html:17
442
 #: searx/templates/oscar/preferences.html:17
427
-#: searx/templates/oscar/preferences.html:24
443
+#: searx/templates/oscar/preferences.html:25
428
 msgid "General"
444
 msgid "General"
429
 msgstr ""
445
 msgstr ""
430
 
446
 
431
 #: searx/templates/oscar/preferences.html:18
447
 #: searx/templates/oscar/preferences.html:18
432
-#: searx/templates/oscar/preferences.html:125
448
+#: searx/templates/oscar/preferences.html:126
433
 msgid "Engines"
449
 msgid "Engines"
434
 msgstr ""
450
 msgstr ""
435
 
451
 
436
 #: searx/templates/oscar/preferences.html:19
452
 #: searx/templates/oscar/preferences.html:19
437
-#: searx/templates/oscar/preferences.html:159
453
+#: searx/templates/oscar/preferences.html:187
438
 msgid "Plugins"
454
 msgid "Plugins"
439
 msgstr ""
455
 msgstr ""
440
 
456
 
441
-#: searx/templates/oscar/preferences.html:44
457
+#: searx/templates/oscar/preferences.html:20
458
+#: searx/templates/oscar/preferences.html:210
459
+msgid "Cookies"
460
+msgstr ""
461
+
462
+#: searx/templates/oscar/preferences.html:45
442
 msgid "What language do you prefer for search?"
463
 msgid "What language do you prefer for search?"
443
 msgstr ""
464
 msgstr ""
444
 
465
 
445
-#: searx/templates/oscar/preferences.html:55
466
+#: searx/templates/oscar/preferences.html:56
446
 msgid "Change the language of the layout"
467
 msgid "Change the language of the layout"
447
 msgstr ""
468
 msgstr ""
448
 
469
 
449
-#: searx/templates/oscar/preferences.html:65
470
+#: searx/templates/oscar/preferences.html:66
450
 msgid "Find stuff as you type"
471
 msgid "Find stuff as you type"
451
 msgstr ""
472
 msgstr ""
452
 
473
 
453
-#: searx/templates/oscar/preferences.html:76
474
+#: searx/templates/oscar/preferences.html:77
454
 msgid "Proxying image results through searx"
475
 msgid "Proxying image results through searx"
455
 msgstr ""
476
 msgstr ""
456
 
477
 
457
-#: searx/templates/oscar/preferences.html:85
478
+#: searx/templates/oscar/preferences.html:86
458
 msgid ""
479
 msgid ""
459
 "Change how forms are submited, <a "
480
 "Change how forms are submited, <a "
460
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
481
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
461
 " rel=\"external\">learn more about request methods</a>"
482
 " rel=\"external\">learn more about request methods</a>"
462
 msgstr ""
483
 msgstr ""
463
 
484
 
464
-#: searx/templates/oscar/preferences.html:94
485
+#: searx/templates/oscar/preferences.html:95
465
 msgid "Filter content"
486
 msgid "Filter content"
466
 msgstr ""
487
 msgstr ""
467
 
488
 
468
-#: searx/templates/oscar/preferences.html:104
489
+#: searx/templates/oscar/preferences.html:105
469
 msgid "Change searx layout"
490
 msgid "Change searx layout"
470
 msgstr ""
491
 msgstr ""
471
 
492
 
493
+#: searx/templates/oscar/preferences.html:143
494
+#: searx/templates/oscar/preferences.html:151
495
+msgid "Shortcut"
496
+msgstr ""
497
+
498
+#: searx/templates/oscar/preferences.html:145
499
+#: searx/templates/oscar/preferences.html:149
500
+msgid "Avg. time"
501
+msgstr ""
502
+
503
+#: searx/templates/oscar/preferences.html:146
504
+#: searx/templates/oscar/preferences.html:148
505
+msgid "Max time"
506
+msgstr ""
507
+
508
+#: searx/templates/oscar/preferences.html:213
509
+msgid ""
510
+"This is the list of cookies and their values searx is storing on your "
511
+"computer."
512
+msgstr ""
513
+
514
+#: searx/templates/oscar/preferences.html:214
515
+msgid "With that list, you can assess searx transparency."
516
+msgstr ""
517
+
518
+#: searx/templates/oscar/preferences.html:219
519
+msgid "Cookie name"
520
+msgstr ""
521
+
522
+#: searx/templates/oscar/preferences.html:220
523
+msgid "Value"
524
+msgstr ""
525
+
472
 #: searx/templates/oscar/results.html:7
526
 #: searx/templates/oscar/results.html:7
473
 msgid "Search results"
527
 msgid "Search results"
474
 msgstr ""
528
 msgstr ""
518
 msgid "Please enable JavaScript to use full functionality of this site."
572
 msgid "Please enable JavaScript to use full functionality of this site."
519
 msgstr ""
573
 msgstr ""
520
 
574
 
575
+#: searx/templates/oscar/messages/no_cookies.html:3
576
+msgid "Information!"
577
+msgstr ""
578
+
579
+#: searx/templates/oscar/messages/no_cookies.html:4
580
+msgid "currently, there are no cookies defined."
581
+msgstr ""
582
+
521
 #: searx/templates/oscar/messages/no_data_available.html:4
583
 #: searx/templates/oscar/messages/no_data_available.html:4
522
 msgid "There is currently no data available. "
584
 msgid "There is currently no data available. "
523
 msgstr ""
585
 msgstr ""

BIN
searx/translations/ja/LC_MESSAGES/messages.mo 파일 보기


+ 124
- 62
searx/translations/ja/LC_MESSAGES/messages.po 파일 보기

12
 msgstr ""
12
 msgstr ""
13
 "Project-Id-Version: searx\n"
13
 "Project-Id-Version: searx\n"
14
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
14
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
15
-"POT-Creation-Date: 2015-04-26 18:57+0200\n"
16
-"PO-Revision-Date: 2015-04-26 17:02+0000\n"
17
-"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
18
-"Language-Team: Japanese (http://www.transifex.com/projects/p/searx/language/ja/)\n"
15
+"POT-Creation-Date: 2015-08-24 11:44+0200\n"
16
+"PO-Revision-Date: 2015-09-03 07:37+0000\n"
17
+"Last-Translator: pointhi\n"
18
+"Language-Team: Japanese (http://www.transifex.com/asciimoo/searx/language/ja/)\n"
19
 "MIME-Version: 1.0\n"
19
 "MIME-Version: 1.0\n"
20
 "Content-Type: text/plain; charset=UTF-8\n"
20
 "Content-Type: text/plain; charset=UTF-8\n"
21
 "Content-Transfer-Encoding: 8bit\n"
21
 "Content-Transfer-Encoding: 8bit\n"
23
 "Language: ja\n"
23
 "Language: ja\n"
24
 "Plural-Forms: nplurals=1; plural=0;\n"
24
 "Plural-Forms: nplurals=1; plural=0;\n"
25
 
25
 
26
-#: searx/webapp.py:104
26
+#: searx/webapp.py:114
27
 msgid "files"
27
 msgid "files"
28
 msgstr "ファイル"
28
 msgstr "ファイル"
29
 
29
 
30
-#: searx/webapp.py:105
30
+#: searx/webapp.py:115
31
 msgid "general"
31
 msgid "general"
32
 msgstr "一般的な"
32
 msgstr "一般的な"
33
 
33
 
34
-#: searx/webapp.py:106
34
+#: searx/webapp.py:116
35
 msgid "music"
35
 msgid "music"
36
 msgstr "音楽"
36
 msgstr "音楽"
37
 
37
 
38
-#: searx/webapp.py:107
38
+#: searx/webapp.py:117
39
 msgid "social media"
39
 msgid "social media"
40
 msgstr "社会的ネットワーク"
40
 msgstr "社会的ネットワーク"
41
 
41
 
42
-#: searx/webapp.py:108
42
+#: searx/webapp.py:118
43
 msgid "images"
43
 msgid "images"
44
 msgstr "画像"
44
 msgstr "画像"
45
 
45
 
46
-#: searx/webapp.py:109
46
+#: searx/webapp.py:119
47
 msgid "videos"
47
 msgid "videos"
48
 msgstr "動画"
48
 msgstr "動画"
49
 
49
 
50
-#: searx/webapp.py:110
50
+#: searx/webapp.py:120
51
 msgid "it"
51
 msgid "it"
52
 msgstr "情報技術"
52
 msgstr "情報技術"
53
 
53
 
54
-#: searx/webapp.py:111
54
+#: searx/webapp.py:121
55
 msgid "news"
55
 msgid "news"
56
 msgstr "お知らせ"
56
 msgstr "お知らせ"
57
 
57
 
58
-#: searx/webapp.py:112
58
+#: searx/webapp.py:122
59
 msgid "map"
59
 msgid "map"
60
 msgstr "地図"
60
 msgstr "地図"
61
 
61
 
62
-#: searx/webapp.py:396
62
+#: searx/webapp.py:414
63
 msgid "{minutes} minute(s) ago"
63
 msgid "{minutes} minute(s) ago"
64
 msgstr "{minutes}分前"
64
 msgstr "{minutes}分前"
65
 
65
 
66
-#: searx/webapp.py:398
66
+#: searx/webapp.py:416
67
 msgid "{hours} hour(s), {minutes} minute(s) ago"
67
 msgid "{hours} hour(s), {minutes} minute(s) ago"
68
 msgstr "{hours}時間と{minutes}分前"
68
 msgstr "{hours}時間と{minutes}分前"
69
 
69
 
70
-#: searx/engines/__init__.py:182
70
+#: searx/engines/__init__.py:185
71
 msgid "Page loads (sec)"
71
 msgid "Page loads (sec)"
72
 msgstr ""
72
 msgstr ""
73
 
73
 
74
-#: searx/engines/__init__.py:186
74
+#: searx/engines/__init__.py:189
75
 msgid "Number of results"
75
 msgid "Number of results"
76
 msgstr "通知の数"
76
 msgstr "通知の数"
77
 
77
 
78
-#: searx/engines/__init__.py:190
78
+#: searx/engines/__init__.py:193
79
 msgid "Scores"
79
 msgid "Scores"
80
 msgstr ""
80
 msgstr ""
81
 
81
 
82
-#: searx/engines/__init__.py:194
82
+#: searx/engines/__init__.py:197
83
 msgid "Scores per result"
83
 msgid "Scores per result"
84
 msgstr ""
84
 msgstr ""
85
 
85
 
86
-#: searx/engines/__init__.py:198
86
+#: searx/engines/__init__.py:201
87
 msgid "Errors"
87
 msgid "Errors"
88
 msgstr "エラー"
88
 msgstr "エラー"
89
 
89
 
98
 #: searx/plugins/search_on_category_select.py:19
98
 #: searx/plugins/search_on_category_select.py:19
99
 msgid ""
99
 msgid ""
100
 "Perform search immediately if a category selected. Disable to select "
100
 "Perform search immediately if a category selected. Disable to select "
101
-"multiple categories."
101
+"multiple categories. (JavaScript required)"
102
 msgstr ""
102
 msgstr ""
103
 
103
 
104
-#: searx/plugins/self_ip.py:19
105
-msgid "Display your source IP address if the query expression is \"ip\""
104
+#: searx/plugins/self_info.py:20
105
+msgid ""
106
+"Displays your IP if the query is \"ip\" and your user agent if the query "
107
+"contains \"user agent\"."
108
+msgstr ""
109
+
110
+#: searx/plugins/tracker_url_remover.py:26
111
+msgid "Tracker URL remover"
112
+msgstr ""
113
+
114
+#: searx/plugins/tracker_url_remover.py:27
115
+msgid "Remove trackers arguments from the returned URL"
106
 msgstr ""
116
 msgstr ""
107
 
117
 
108
 #: searx/templates/courgette/index.html:9
118
 #: searx/templates/courgette/index.html:9
131
 
141
 
132
 #: searx/templates/courgette/preferences.html:9
142
 #: searx/templates/courgette/preferences.html:9
133
 #: searx/templates/default/preferences.html:9
143
 #: searx/templates/default/preferences.html:9
134
-#: searx/templates/oscar/preferences.html:35
135
-#: searx/templates/oscar/preferences.html:37
144
+#: searx/templates/oscar/preferences.html:36
145
+#: searx/templates/oscar/preferences.html:38
136
 msgid "Default categories"
146
 msgid "Default categories"
137
 msgstr ""
147
 msgstr ""
138
 
148
 
139
 #: searx/templates/courgette/preferences.html:13
149
 #: searx/templates/courgette/preferences.html:13
140
 #: searx/templates/default/preferences.html:14
150
 #: searx/templates/default/preferences.html:14
141
-#: searx/templates/oscar/preferences.html:43
151
+#: searx/templates/oscar/preferences.html:44
142
 #: searx/templates/pix-art/preferences.html:9
152
 #: searx/templates/pix-art/preferences.html:9
143
 msgid "Search language"
153
 msgid "Search language"
144
 msgstr "検索の言語"
154
 msgstr "検索の言語"
145
 
155
 
146
 #: searx/templates/courgette/preferences.html:16
156
 #: searx/templates/courgette/preferences.html:16
147
 #: searx/templates/default/preferences.html:17
157
 #: searx/templates/default/preferences.html:17
148
-#: searx/templates/oscar/preferences.html:47
158
+#: searx/templates/oscar/preferences.html:48
149
 #: searx/templates/pix-art/preferences.html:12
159
 #: searx/templates/pix-art/preferences.html:12
150
 msgid "Automatic"
160
 msgid "Automatic"
151
 msgstr ""
161
 msgstr ""
152
 
162
 
153
 #: searx/templates/courgette/preferences.html:24
163
 #: searx/templates/courgette/preferences.html:24
154
 #: searx/templates/default/preferences.html:25
164
 #: searx/templates/default/preferences.html:25
155
-#: searx/templates/oscar/preferences.html:54
165
+#: searx/templates/oscar/preferences.html:55
156
 #: searx/templates/pix-art/preferences.html:20
166
 #: searx/templates/pix-art/preferences.html:20
157
 msgid "Interface language"
167
 msgid "Interface language"
158
 msgstr "界面の言語"
168
 msgstr "界面の言語"
159
 
169
 
160
 #: searx/templates/courgette/preferences.html:34
170
 #: searx/templates/courgette/preferences.html:34
161
 #: searx/templates/default/preferences.html:35
171
 #: searx/templates/default/preferences.html:35
162
-#: searx/templates/oscar/preferences.html:64
172
+#: searx/templates/oscar/preferences.html:65
163
 msgid "Autocomplete"
173
 msgid "Autocomplete"
164
 msgstr ""
174
 msgstr ""
165
 
175
 
166
 #: searx/templates/courgette/preferences.html:45
176
 #: searx/templates/courgette/preferences.html:45
167
 #: searx/templates/default/preferences.html:46
177
 #: searx/templates/default/preferences.html:46
168
-#: searx/templates/oscar/preferences.html:75
178
+#: searx/templates/oscar/preferences.html:76
169
 msgid "Image proxy"
179
 msgid "Image proxy"
170
 msgstr ""
180
 msgstr ""
171
 
181
 
172
 #: searx/templates/courgette/preferences.html:48
182
 #: searx/templates/courgette/preferences.html:48
173
 #: searx/templates/default/preferences.html:49
183
 #: searx/templates/default/preferences.html:49
174
-#: searx/templates/oscar/preferences.html:79
184
+#: searx/templates/oscar/preferences.html:80
175
 msgid "Enabled"
185
 msgid "Enabled"
176
-msgstr ""
186
+msgstr "活性化する"
177
 
187
 
178
 #: searx/templates/courgette/preferences.html:49
188
 #: searx/templates/courgette/preferences.html:49
179
 #: searx/templates/default/preferences.html:50
189
 #: searx/templates/default/preferences.html:50
180
-#: searx/templates/oscar/preferences.html:80
190
+#: searx/templates/oscar/preferences.html:81
181
 msgid "Disabled"
191
 msgid "Disabled"
182
-msgstr ""
192
+msgstr "使用不可能にする"
183
 
193
 
184
 #: searx/templates/courgette/preferences.html:54
194
 #: searx/templates/courgette/preferences.html:54
185
 #: searx/templates/default/preferences.html:55
195
 #: searx/templates/default/preferences.html:55
186
-#: searx/templates/oscar/preferences.html:84
196
+#: searx/templates/oscar/preferences.html:85
187
 #: searx/templates/pix-art/preferences.html:30
197
 #: searx/templates/pix-art/preferences.html:30
188
 msgid "Method"
198
 msgid "Method"
189
 msgstr ""
199
 msgstr ""
190
 
200
 
191
 #: searx/templates/courgette/preferences.html:63
201
 #: searx/templates/courgette/preferences.html:63
192
 #: searx/templates/default/preferences.html:64
202
 #: searx/templates/default/preferences.html:64
193
-#: searx/templates/oscar/preferences.html:93
203
+#: searx/templates/oscar/preferences.html:94
204
+#: searx/templates/oscar/preferences.html:144
205
+#: searx/templates/oscar/preferences.html:150
194
 msgid "SafeSearch"
206
 msgid "SafeSearch"
195
 msgstr "安全な検索"
207
 msgstr "安全な検索"
196
 
208
 
197
 #: searx/templates/courgette/preferences.html:66
209
 #: searx/templates/courgette/preferences.html:66
198
 #: searx/templates/default/preferences.html:67
210
 #: searx/templates/default/preferences.html:67
199
-#: searx/templates/oscar/preferences.html:97
211
+#: searx/templates/oscar/preferences.html:98
200
 msgid "Strict"
212
 msgid "Strict"
201
 msgstr "たくさん。"
213
 msgstr "たくさん。"
202
 
214
 
203
 #: searx/templates/courgette/preferences.html:67
215
 #: searx/templates/courgette/preferences.html:67
204
 #: searx/templates/default/preferences.html:68
216
 #: searx/templates/default/preferences.html:68
205
-#: searx/templates/oscar/preferences.html:98
217
+#: searx/templates/oscar/preferences.html:99
206
 msgid "Moderate"
218
 msgid "Moderate"
207
 msgstr "少し"
219
 msgstr "少し"
208
 
220
 
209
 #: searx/templates/courgette/preferences.html:68
221
 #: searx/templates/courgette/preferences.html:68
210
 #: searx/templates/default/preferences.html:69
222
 #: searx/templates/default/preferences.html:69
211
-#: searx/templates/oscar/preferences.html:99
223
+#: searx/templates/oscar/preferences.html:100
212
 msgid "None"
224
 msgid "None"
213
 msgstr "なし"
225
 msgstr "なし"
214
 
226
 
215
 #: searx/templates/courgette/preferences.html:73
227
 #: searx/templates/courgette/preferences.html:73
216
 #: searx/templates/default/preferences.html:74
228
 #: searx/templates/default/preferences.html:74
217
-#: searx/templates/oscar/preferences.html:103
229
+#: searx/templates/oscar/preferences.html:104
218
 #: searx/templates/pix-art/preferences.html:39
230
 #: searx/templates/pix-art/preferences.html:39
219
 msgid "Themes"
231
 msgid "Themes"
220
-msgstr ""
232
+msgstr "図様"
221
 
233
 
222
 #: searx/templates/courgette/preferences.html:83
234
 #: searx/templates/courgette/preferences.html:83
223
 msgid "Color"
235
 msgid "Color"
255
 
267
 
256
 #: searx/templates/courgette/preferences.html:100
268
 #: searx/templates/courgette/preferences.html:100
257
 #: searx/templates/default/preferences.html:88
269
 #: searx/templates/default/preferences.html:88
270
+#: searx/templates/oscar/preferences.html:142
271
+#: searx/templates/oscar/preferences.html:152
258
 #: searx/templates/pix-art/preferences.html:53
272
 #: searx/templates/pix-art/preferences.html:53
259
 msgid "Engine name"
273
 msgid "Engine name"
260
 msgstr ""
274
 msgstr ""
269
 #: searx/templates/default/preferences.html:90
283
 #: searx/templates/default/preferences.html:90
270
 #: searx/templates/default/preferences.html:101
284
 #: searx/templates/default/preferences.html:101
271
 #: searx/templates/oscar/macros.html:67
285
 #: searx/templates/oscar/macros.html:67
286
+#: searx/templates/oscar/preferences.html:141
287
+#: searx/templates/oscar/preferences.html:153
272
 #: searx/templates/pix-art/preferences.html:54
288
 #: searx/templates/pix-art/preferences.html:54
273
 #: searx/templates/pix-art/preferences.html:64
289
 #: searx/templates/pix-art/preferences.html:64
274
 msgid "Allow"
290
 msgid "Allow"
282
 #: searx/templates/pix-art/preferences.html:54
298
 #: searx/templates/pix-art/preferences.html:54
283
 #: searx/templates/pix-art/preferences.html:65
299
 #: searx/templates/pix-art/preferences.html:65
284
 msgid "Block"
300
 msgid "Block"
285
-msgstr ""
301
+msgstr "封鎖する"
286
 
302
 
287
 #: searx/templates/courgette/preferences.html:122
303
 #: searx/templates/courgette/preferences.html:122
288
 #: searx/templates/default/preferences.html:110
304
 #: searx/templates/default/preferences.html:110
289
-#: searx/templates/oscar/preferences.html:180
305
+#: searx/templates/oscar/preferences.html:235
290
 #: searx/templates/pix-art/preferences.html:73
306
 #: searx/templates/pix-art/preferences.html:73
291
 msgid ""
307
 msgid ""
292
 "These settings are stored in your cookies, this allows us not to store this "
308
 "These settings are stored in your cookies, this allows us not to store this "
295
 
311
 
296
 #: searx/templates/courgette/preferences.html:124
312
 #: searx/templates/courgette/preferences.html:124
297
 #: searx/templates/default/preferences.html:112
313
 #: searx/templates/default/preferences.html:112
298
-#: searx/templates/oscar/preferences.html:182
314
+#: searx/templates/oscar/preferences.html:237
299
 #: searx/templates/pix-art/preferences.html:75
315
 #: searx/templates/pix-art/preferences.html:75
300
 msgid ""
316
 msgid ""
301
 "These cookies serve your sole convenience, we don't use these cookies to "
317
 "These cookies serve your sole convenience, we don't use these cookies to "
304
 
320
 
305
 #: searx/templates/courgette/preferences.html:127
321
 #: searx/templates/courgette/preferences.html:127
306
 #: searx/templates/default/preferences.html:115
322
 #: searx/templates/default/preferences.html:115
307
-#: searx/templates/oscar/preferences.html:185
323
+#: searx/templates/oscar/preferences.html:240
308
 #: searx/templates/pix-art/preferences.html:78
324
 #: searx/templates/pix-art/preferences.html:78
309
 msgid "save"
325
 msgid "save"
310
 msgstr "保存"
326
 msgstr "保存"
311
 
327
 
312
 #: searx/templates/courgette/preferences.html:128
328
 #: searx/templates/courgette/preferences.html:128
313
 #: searx/templates/default/preferences.html:116
329
 #: searx/templates/default/preferences.html:116
314
-#: searx/templates/oscar/preferences.html:187
330
+#: searx/templates/oscar/preferences.html:242
315
 msgid "Reset defaults"
331
 msgid "Reset defaults"
316
 msgstr ""
332
 msgstr ""
317
 
333
 
318
 #: searx/templates/courgette/preferences.html:129
334
 #: searx/templates/courgette/preferences.html:129
319
 #: searx/templates/default/preferences.html:117
335
 #: searx/templates/default/preferences.html:117
320
-#: searx/templates/oscar/preferences.html:186
336
+#: searx/templates/oscar/preferences.html:241
321
 #: searx/templates/pix-art/preferences.html:79
337
 #: searx/templates/pix-art/preferences.html:79
322
 msgid "back"
338
 msgid "back"
323
 msgstr "バック"
339
 msgstr "バック"
427
 msgstr ""
443
 msgstr ""
428
 
444
 
429
 #: searx/templates/oscar/preferences.html:17
445
 #: searx/templates/oscar/preferences.html:17
430
-#: searx/templates/oscar/preferences.html:24
446
+#: searx/templates/oscar/preferences.html:25
431
 msgid "General"
447
 msgid "General"
432
 msgstr ""
448
 msgstr ""
433
 
449
 
434
 #: searx/templates/oscar/preferences.html:18
450
 #: searx/templates/oscar/preferences.html:18
435
-#: searx/templates/oscar/preferences.html:125
451
+#: searx/templates/oscar/preferences.html:126
436
 msgid "Engines"
452
 msgid "Engines"
437
 msgstr ""
453
 msgstr ""
438
 
454
 
439
 #: searx/templates/oscar/preferences.html:19
455
 #: searx/templates/oscar/preferences.html:19
440
-#: searx/templates/oscar/preferences.html:159
456
+#: searx/templates/oscar/preferences.html:187
441
 msgid "Plugins"
457
 msgid "Plugins"
442
 msgstr ""
458
 msgstr ""
443
 
459
 
444
-#: searx/templates/oscar/preferences.html:44
460
+#: searx/templates/oscar/preferences.html:20
461
+#: searx/templates/oscar/preferences.html:210
462
+msgid "Cookies"
463
+msgstr ""
464
+
465
+#: searx/templates/oscar/preferences.html:45
445
 msgid "What language do you prefer for search?"
466
 msgid "What language do you prefer for search?"
446
 msgstr ""
467
 msgstr ""
447
 
468
 
448
-#: searx/templates/oscar/preferences.html:55
469
+#: searx/templates/oscar/preferences.html:56
449
 msgid "Change the language of the layout"
470
 msgid "Change the language of the layout"
450
 msgstr ""
471
 msgstr ""
451
 
472
 
452
-#: searx/templates/oscar/preferences.html:65
473
+#: searx/templates/oscar/preferences.html:66
453
 msgid "Find stuff as you type"
474
 msgid "Find stuff as you type"
454
 msgstr ""
475
 msgstr ""
455
 
476
 
456
-#: searx/templates/oscar/preferences.html:76
477
+#: searx/templates/oscar/preferences.html:77
457
 msgid "Proxying image results through searx"
478
 msgid "Proxying image results through searx"
458
 msgstr ""
479
 msgstr ""
459
 
480
 
460
-#: searx/templates/oscar/preferences.html:85
481
+#: searx/templates/oscar/preferences.html:86
461
 msgid ""
482
 msgid ""
462
 "Change how forms are submited, <a "
483
 "Change how forms are submited, <a "
463
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
484
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
464
 " rel=\"external\">learn more about request methods</a>"
485
 " rel=\"external\">learn more about request methods</a>"
465
 msgstr ""
486
 msgstr ""
466
 
487
 
467
-#: searx/templates/oscar/preferences.html:94
488
+#: searx/templates/oscar/preferences.html:95
468
 msgid "Filter content"
489
 msgid "Filter content"
469
 msgstr ""
490
 msgstr ""
470
 
491
 
471
-#: searx/templates/oscar/preferences.html:104
492
+#: searx/templates/oscar/preferences.html:105
472
 msgid "Change searx layout"
493
 msgid "Change searx layout"
473
 msgstr "レイアウトのsearxの変更"
494
 msgstr "レイアウトのsearxの変更"
474
 
495
 
496
+#: searx/templates/oscar/preferences.html:143
497
+#: searx/templates/oscar/preferences.html:151
498
+msgid "Shortcut"
499
+msgstr ""
500
+
501
+#: searx/templates/oscar/preferences.html:145
502
+#: searx/templates/oscar/preferences.html:149
503
+msgid "Avg. time"
504
+msgstr ""
505
+
506
+#: searx/templates/oscar/preferences.html:146
507
+#: searx/templates/oscar/preferences.html:148
508
+msgid "Max time"
509
+msgstr ""
510
+
511
+#: searx/templates/oscar/preferences.html:213
512
+msgid ""
513
+"This is the list of cookies and their values searx is storing on your "
514
+"computer."
515
+msgstr ""
516
+
517
+#: searx/templates/oscar/preferences.html:214
518
+msgid "With that list, you can assess searx transparency."
519
+msgstr ""
520
+
521
+#: searx/templates/oscar/preferences.html:219
522
+msgid "Cookie name"
523
+msgstr ""
524
+
525
+#: searx/templates/oscar/preferences.html:220
526
+msgid "Value"
527
+msgstr ""
528
+
475
 #: searx/templates/oscar/results.html:7
529
 #: searx/templates/oscar/results.html:7
476
 msgid "Search results"
530
 msgid "Search results"
477
 msgstr "検索結果"
531
 msgstr "検索結果"
515
 
569
 
516
 #: searx/templates/oscar/messages/js_disabled.html:2
570
 #: searx/templates/oscar/messages/js_disabled.html:2
517
 msgid "Warning!"
571
 msgid "Warning!"
518
-msgstr ""
572
+msgstr "意見"
519
 
573
 
520
 #: searx/templates/oscar/messages/js_disabled.html:3
574
 #: searx/templates/oscar/messages/js_disabled.html:3
521
 msgid "Please enable JavaScript to use full functionality of this site."
575
 msgid "Please enable JavaScript to use full functionality of this site."
522
 msgstr ""
576
 msgstr ""
523
 
577
 
578
+#: searx/templates/oscar/messages/no_cookies.html:3
579
+msgid "Information!"
580
+msgstr "異見"
581
+
582
+#: searx/templates/oscar/messages/no_cookies.html:4
583
+msgid "currently, there are no cookies defined."
584
+msgstr ""
585
+
524
 #: searx/templates/oscar/messages/no_data_available.html:4
586
 #: searx/templates/oscar/messages/no_data_available.html:4
525
 msgid "There is currently no data available. "
587
 msgid "There is currently no data available. "
526
 msgstr ""
588
 msgstr ""
537
 
599
 
538
 #: searx/templates/oscar/messages/save_settings_successfull.html:7
600
 #: searx/templates/oscar/messages/save_settings_successfull.html:7
539
 msgid "Well done!"
601
 msgid "Well done!"
540
-msgstr ""
602
+msgstr "あっぱれ。"
541
 
603
 
542
 #: searx/templates/oscar/messages/save_settings_successfull.html:8
604
 #: searx/templates/oscar/messages/save_settings_successfull.html:8
543
 msgid "Settings saved successfully."
605
 msgid "Settings saved successfully."
545
 
607
 
546
 #: searx/templates/oscar/messages/unknow_error.html:7
608
 #: searx/templates/oscar/messages/unknow_error.html:7
547
 msgid "Oh snap!"
609
 msgid "Oh snap!"
548
-msgstr ""
610
+msgstr "ちぇっ"
549
 
611
 
550
 #: searx/templates/oscar/messages/unknow_error.html:8
612
 #: searx/templates/oscar/messages/unknow_error.html:8
551
 msgid "Something went wrong."
613
 msgid "Something went wrong."
585
 
647
 
586
 #: searx/templates/oscar/result_templates/torrent.html:7
648
 #: searx/templates/oscar/result_templates/torrent.html:7
587
 msgid "Filesize"
649
 msgid "Filesize"
588
-msgstr ""
650
+msgstr "ファイル・サイズ"
589
 
651
 
590
 #: searx/templates/oscar/result_templates/torrent.html:9
652
 #: searx/templates/oscar/result_templates/torrent.html:9
591
 msgid "Bytes"
653
 msgid "Bytes"
609
 
671
 
610
 #: searx/templates/oscar/result_templates/torrent.html:15
672
 #: searx/templates/oscar/result_templates/torrent.html:15
611
 msgid "Number of Files"
673
 msgid "Number of Files"
612
-msgstr ""
674
+msgstr "ファイル数"
613
 
675
 
614
 #: searx/templates/oscar/result_templates/videos.html:7
676
 #: searx/templates/oscar/result_templates/videos.html:7
615
 msgid "show video"
677
 msgid "show video"

BIN
searx/translations/nl/LC_MESSAGES/messages.mo 파일 보기


+ 116
- 54
searx/translations/nl/LC_MESSAGES/messages.po 파일 보기

9
 msgstr ""
9
 msgstr ""
10
 "Project-Id-Version: searx\n"
10
 "Project-Id-Version: searx\n"
11
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
11
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
12
-"POT-Creation-Date: 2015-04-26 18:57+0200\n"
13
-"PO-Revision-Date: 2015-04-27 07:45+0000\n"
12
+"POT-Creation-Date: 2015-08-24 11:44+0200\n"
13
+"PO-Revision-Date: 2015-08-24 14:41+0000\n"
14
 "Last-Translator: Nathan Follens\n"
14
 "Last-Translator: Nathan Follens\n"
15
-"Language-Team: Dutch (http://www.transifex.com/projects/p/searx/language/nl/)\n"
15
+"Language-Team: Dutch (http://www.transifex.com/asciimoo/searx/language/nl/)\n"
16
 "MIME-Version: 1.0\n"
16
 "MIME-Version: 1.0\n"
17
 "Content-Type: text/plain; charset=UTF-8\n"
17
 "Content-Type: text/plain; charset=UTF-8\n"
18
 "Content-Transfer-Encoding: 8bit\n"
18
 "Content-Transfer-Encoding: 8bit\n"
20
 "Language: nl\n"
20
 "Language: nl\n"
21
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
21
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
22
 
22
 
23
-#: searx/webapp.py:104
23
+#: searx/webapp.py:114
24
 msgid "files"
24
 msgid "files"
25
 msgstr "bestanden"
25
 msgstr "bestanden"
26
 
26
 
27
-#: searx/webapp.py:105
27
+#: searx/webapp.py:115
28
 msgid "general"
28
 msgid "general"
29
 msgstr "algemeen"
29
 msgstr "algemeen"
30
 
30
 
31
-#: searx/webapp.py:106
31
+#: searx/webapp.py:116
32
 msgid "music"
32
 msgid "music"
33
 msgstr "muziek"
33
 msgstr "muziek"
34
 
34
 
35
-#: searx/webapp.py:107
35
+#: searx/webapp.py:117
36
 msgid "social media"
36
 msgid "social media"
37
 msgstr "social media"
37
 msgstr "social media"
38
 
38
 
39
-#: searx/webapp.py:108
39
+#: searx/webapp.py:118
40
 msgid "images"
40
 msgid "images"
41
 msgstr "afbeeldingen"
41
 msgstr "afbeeldingen"
42
 
42
 
43
-#: searx/webapp.py:109
43
+#: searx/webapp.py:119
44
 msgid "videos"
44
 msgid "videos"
45
 msgstr "video's"
45
 msgstr "video's"
46
 
46
 
47
-#: searx/webapp.py:110
47
+#: searx/webapp.py:120
48
 msgid "it"
48
 msgid "it"
49
 msgstr "it"
49
 msgstr "it"
50
 
50
 
51
-#: searx/webapp.py:111
51
+#: searx/webapp.py:121
52
 msgid "news"
52
 msgid "news"
53
 msgstr "nieuws"
53
 msgstr "nieuws"
54
 
54
 
55
-#: searx/webapp.py:112
55
+#: searx/webapp.py:122
56
 msgid "map"
56
 msgid "map"
57
 msgstr "kaart"
57
 msgstr "kaart"
58
 
58
 
59
-#: searx/webapp.py:396
59
+#: searx/webapp.py:414
60
 msgid "{minutes} minute(s) ago"
60
 msgid "{minutes} minute(s) ago"
61
 msgstr "{minutes} min geleden"
61
 msgstr "{minutes} min geleden"
62
 
62
 
63
-#: searx/webapp.py:398
63
+#: searx/webapp.py:416
64
 msgid "{hours} hour(s), {minutes} minute(s) ago"
64
 msgid "{hours} hour(s), {minutes} minute(s) ago"
65
 msgstr "{hours} uur, {minutes} min geleden"
65
 msgstr "{hours} uur, {minutes} min geleden"
66
 
66
 
67
-#: searx/engines/__init__.py:182
67
+#: searx/engines/__init__.py:185
68
 msgid "Page loads (sec)"
68
 msgid "Page loads (sec)"
69
 msgstr "Pagina laadt (sec)"
69
 msgstr "Pagina laadt (sec)"
70
 
70
 
71
-#: searx/engines/__init__.py:186
71
+#: searx/engines/__init__.py:189
72
 msgid "Number of results"
72
 msgid "Number of results"
73
 msgstr "Aantal zoekresultaten"
73
 msgstr "Aantal zoekresultaten"
74
 
74
 
75
-#: searx/engines/__init__.py:190
75
+#: searx/engines/__init__.py:193
76
 msgid "Scores"
76
 msgid "Scores"
77
 msgstr "Scores"
77
 msgstr "Scores"
78
 
78
 
79
-#: searx/engines/__init__.py:194
79
+#: searx/engines/__init__.py:197
80
 msgid "Scores per result"
80
 msgid "Scores per result"
81
 msgstr "Scores per zoekresultaat"
81
 msgstr "Scores per zoekresultaat"
82
 
82
 
83
-#: searx/engines/__init__.py:198
83
+#: searx/engines/__init__.py:201
84
 msgid "Errors"
84
 msgid "Errors"
85
 msgstr "Fouten"
85
 msgstr "Fouten"
86
 
86
 
95
 #: searx/plugins/search_on_category_select.py:19
95
 #: searx/plugins/search_on_category_select.py:19
96
 msgid ""
96
 msgid ""
97
 "Perform search immediately if a category selected. Disable to select "
97
 "Perform search immediately if a category selected. Disable to select "
98
-"multiple categories."
99
-msgstr "Zoekopdracht onmiddellijk uitvoeren wanneer een categorie geselecteerd wordt. Zet dit uit om meerdere categorieën te selecteren."
98
+"multiple categories. (JavaScript required)"
99
+msgstr "Zoekopdracht onmiddellijk uitvoeren wanneer een categorie geselecteerd wordt. Zet dit uit om meerdere categorieën te selecteren. (JavaScript vereist)"
100
 
100
 
101
-#: searx/plugins/self_ip.py:19
102
-msgid "Display your source IP address if the query expression is \"ip\""
103
-msgstr "Geef je IP-adres weer wanneer de zoekopdracht \"ip\" is"
101
+#: searx/plugins/self_info.py:20
102
+msgid ""
103
+"Displays your IP if the query is \"ip\" and your user agent if the query "
104
+"contains \"user agent\"."
105
+msgstr "Geeft je IP-adres weer als de zoekopdracht \"ip\" is en je gebruikersagent als de zoekopdracht \"user agent\" bevat."
106
+
107
+#: searx/plugins/tracker_url_remover.py:26
108
+msgid "Tracker URL remover"
109
+msgstr "Tracker-URL verwijderaar"
110
+
111
+#: searx/plugins/tracker_url_remover.py:27
112
+msgid "Remove trackers arguments from the returned URL"
113
+msgstr "Verwijdert trackerargumenten van de gekregen URL"
104
 
114
 
105
 #: searx/templates/courgette/index.html:9
115
 #: searx/templates/courgette/index.html:9
106
 #: searx/templates/courgette/index.html:13
116
 #: searx/templates/courgette/index.html:13
128
 
138
 
129
 #: searx/templates/courgette/preferences.html:9
139
 #: searx/templates/courgette/preferences.html:9
130
 #: searx/templates/default/preferences.html:9
140
 #: searx/templates/default/preferences.html:9
131
-#: searx/templates/oscar/preferences.html:35
132
-#: searx/templates/oscar/preferences.html:37
141
+#: searx/templates/oscar/preferences.html:36
142
+#: searx/templates/oscar/preferences.html:38
133
 msgid "Default categories"
143
 msgid "Default categories"
134
 msgstr "Standaardcategorieën"
144
 msgstr "Standaardcategorieën"
135
 
145
 
136
 #: searx/templates/courgette/preferences.html:13
146
 #: searx/templates/courgette/preferences.html:13
137
 #: searx/templates/default/preferences.html:14
147
 #: searx/templates/default/preferences.html:14
138
-#: searx/templates/oscar/preferences.html:43
148
+#: searx/templates/oscar/preferences.html:44
139
 #: searx/templates/pix-art/preferences.html:9
149
 #: searx/templates/pix-art/preferences.html:9
140
 msgid "Search language"
150
 msgid "Search language"
141
 msgstr "Zoektaal"
151
 msgstr "Zoektaal"
142
 
152
 
143
 #: searx/templates/courgette/preferences.html:16
153
 #: searx/templates/courgette/preferences.html:16
144
 #: searx/templates/default/preferences.html:17
154
 #: searx/templates/default/preferences.html:17
145
-#: searx/templates/oscar/preferences.html:47
155
+#: searx/templates/oscar/preferences.html:48
146
 #: searx/templates/pix-art/preferences.html:12
156
 #: searx/templates/pix-art/preferences.html:12
147
 msgid "Automatic"
157
 msgid "Automatic"
148
 msgstr "Automatisch"
158
 msgstr "Automatisch"
149
 
159
 
150
 #: searx/templates/courgette/preferences.html:24
160
 #: searx/templates/courgette/preferences.html:24
151
 #: searx/templates/default/preferences.html:25
161
 #: searx/templates/default/preferences.html:25
152
-#: searx/templates/oscar/preferences.html:54
162
+#: searx/templates/oscar/preferences.html:55
153
 #: searx/templates/pix-art/preferences.html:20
163
 #: searx/templates/pix-art/preferences.html:20
154
 msgid "Interface language"
164
 msgid "Interface language"
155
 msgstr "Interfacetaal"
165
 msgstr "Interfacetaal"
156
 
166
 
157
 #: searx/templates/courgette/preferences.html:34
167
 #: searx/templates/courgette/preferences.html:34
158
 #: searx/templates/default/preferences.html:35
168
 #: searx/templates/default/preferences.html:35
159
-#: searx/templates/oscar/preferences.html:64
169
+#: searx/templates/oscar/preferences.html:65
160
 msgid "Autocomplete"
170
 msgid "Autocomplete"
161
 msgstr "Auto-aanvullen"
171
 msgstr "Auto-aanvullen"
162
 
172
 
163
 #: searx/templates/courgette/preferences.html:45
173
 #: searx/templates/courgette/preferences.html:45
164
 #: searx/templates/default/preferences.html:46
174
 #: searx/templates/default/preferences.html:46
165
-#: searx/templates/oscar/preferences.html:75
175
+#: searx/templates/oscar/preferences.html:76
166
 msgid "Image proxy"
176
 msgid "Image proxy"
167
 msgstr "Afbeeldingen proxy"
177
 msgstr "Afbeeldingen proxy"
168
 
178
 
169
 #: searx/templates/courgette/preferences.html:48
179
 #: searx/templates/courgette/preferences.html:48
170
 #: searx/templates/default/preferences.html:49
180
 #: searx/templates/default/preferences.html:49
171
-#: searx/templates/oscar/preferences.html:79
181
+#: searx/templates/oscar/preferences.html:80
172
 msgid "Enabled"
182
 msgid "Enabled"
173
 msgstr "Ingeschakeld"
183
 msgstr "Ingeschakeld"
174
 
184
 
175
 #: searx/templates/courgette/preferences.html:49
185
 #: searx/templates/courgette/preferences.html:49
176
 #: searx/templates/default/preferences.html:50
186
 #: searx/templates/default/preferences.html:50
177
-#: searx/templates/oscar/preferences.html:80
187
+#: searx/templates/oscar/preferences.html:81
178
 msgid "Disabled"
188
 msgid "Disabled"
179
 msgstr "Uitgeschakeld"
189
 msgstr "Uitgeschakeld"
180
 
190
 
181
 #: searx/templates/courgette/preferences.html:54
191
 #: searx/templates/courgette/preferences.html:54
182
 #: searx/templates/default/preferences.html:55
192
 #: searx/templates/default/preferences.html:55
183
-#: searx/templates/oscar/preferences.html:84
193
+#: searx/templates/oscar/preferences.html:85
184
 #: searx/templates/pix-art/preferences.html:30
194
 #: searx/templates/pix-art/preferences.html:30
185
 msgid "Method"
195
 msgid "Method"
186
 msgstr "Methode"
196
 msgstr "Methode"
187
 
197
 
188
 #: searx/templates/courgette/preferences.html:63
198
 #: searx/templates/courgette/preferences.html:63
189
 #: searx/templates/default/preferences.html:64
199
 #: searx/templates/default/preferences.html:64
190
-#: searx/templates/oscar/preferences.html:93
200
+#: searx/templates/oscar/preferences.html:94
201
+#: searx/templates/oscar/preferences.html:144
202
+#: searx/templates/oscar/preferences.html:150
191
 msgid "SafeSearch"
203
 msgid "SafeSearch"
192
 msgstr "SafeSearch"
204
 msgstr "SafeSearch"
193
 
205
 
194
 #: searx/templates/courgette/preferences.html:66
206
 #: searx/templates/courgette/preferences.html:66
195
 #: searx/templates/default/preferences.html:67
207
 #: searx/templates/default/preferences.html:67
196
-#: searx/templates/oscar/preferences.html:97
208
+#: searx/templates/oscar/preferences.html:98
197
 msgid "Strict"
209
 msgid "Strict"
198
 msgstr "Strikt"
210
 msgstr "Strikt"
199
 
211
 
200
 #: searx/templates/courgette/preferences.html:67
212
 #: searx/templates/courgette/preferences.html:67
201
 #: searx/templates/default/preferences.html:68
213
 #: searx/templates/default/preferences.html:68
202
-#: searx/templates/oscar/preferences.html:98
214
+#: searx/templates/oscar/preferences.html:99
203
 msgid "Moderate"
215
 msgid "Moderate"
204
 msgstr "Gemiddeld"
216
 msgstr "Gemiddeld"
205
 
217
 
206
 #: searx/templates/courgette/preferences.html:68
218
 #: searx/templates/courgette/preferences.html:68
207
 #: searx/templates/default/preferences.html:69
219
 #: searx/templates/default/preferences.html:69
208
-#: searx/templates/oscar/preferences.html:99
220
+#: searx/templates/oscar/preferences.html:100
209
 msgid "None"
221
 msgid "None"
210
 msgstr "Geen"
222
 msgstr "Geen"
211
 
223
 
212
 #: searx/templates/courgette/preferences.html:73
224
 #: searx/templates/courgette/preferences.html:73
213
 #: searx/templates/default/preferences.html:74
225
 #: searx/templates/default/preferences.html:74
214
-#: searx/templates/oscar/preferences.html:103
226
+#: searx/templates/oscar/preferences.html:104
215
 #: searx/templates/pix-art/preferences.html:39
227
 #: searx/templates/pix-art/preferences.html:39
216
 msgid "Themes"
228
 msgid "Themes"
217
 msgstr "Thema's"
229
 msgstr "Thema's"
252
 
264
 
253
 #: searx/templates/courgette/preferences.html:100
265
 #: searx/templates/courgette/preferences.html:100
254
 #: searx/templates/default/preferences.html:88
266
 #: searx/templates/default/preferences.html:88
267
+#: searx/templates/oscar/preferences.html:142
268
+#: searx/templates/oscar/preferences.html:152
255
 #: searx/templates/pix-art/preferences.html:53
269
 #: searx/templates/pix-art/preferences.html:53
256
 msgid "Engine name"
270
 msgid "Engine name"
257
 msgstr "Naam zoekmachine"
271
 msgstr "Naam zoekmachine"
266
 #: searx/templates/default/preferences.html:90
280
 #: searx/templates/default/preferences.html:90
267
 #: searx/templates/default/preferences.html:101
281
 #: searx/templates/default/preferences.html:101
268
 #: searx/templates/oscar/macros.html:67
282
 #: searx/templates/oscar/macros.html:67
283
+#: searx/templates/oscar/preferences.html:141
284
+#: searx/templates/oscar/preferences.html:153
269
 #: searx/templates/pix-art/preferences.html:54
285
 #: searx/templates/pix-art/preferences.html:54
270
 #: searx/templates/pix-art/preferences.html:64
286
 #: searx/templates/pix-art/preferences.html:64
271
 msgid "Allow"
287
 msgid "Allow"
283
 
299
 
284
 #: searx/templates/courgette/preferences.html:122
300
 #: searx/templates/courgette/preferences.html:122
285
 #: searx/templates/default/preferences.html:110
301
 #: searx/templates/default/preferences.html:110
286
-#: searx/templates/oscar/preferences.html:180
302
+#: searx/templates/oscar/preferences.html:235
287
 #: searx/templates/pix-art/preferences.html:73
303
 #: searx/templates/pix-art/preferences.html:73
288
 msgid ""
304
 msgid ""
289
 "These settings are stored in your cookies, this allows us not to store this "
305
 "These settings are stored in your cookies, this allows us not to store this "
292
 
308
 
293
 #: searx/templates/courgette/preferences.html:124
309
 #: searx/templates/courgette/preferences.html:124
294
 #: searx/templates/default/preferences.html:112
310
 #: searx/templates/default/preferences.html:112
295
-#: searx/templates/oscar/preferences.html:182
311
+#: searx/templates/oscar/preferences.html:237
296
 #: searx/templates/pix-art/preferences.html:75
312
 #: searx/templates/pix-art/preferences.html:75
297
 msgid ""
313
 msgid ""
298
 "These cookies serve your sole convenience, we don't use these cookies to "
314
 "These cookies serve your sole convenience, we don't use these cookies to "
301
 
317
 
302
 #: searx/templates/courgette/preferences.html:127
318
 #: searx/templates/courgette/preferences.html:127
303
 #: searx/templates/default/preferences.html:115
319
 #: searx/templates/default/preferences.html:115
304
-#: searx/templates/oscar/preferences.html:185
320
+#: searx/templates/oscar/preferences.html:240
305
 #: searx/templates/pix-art/preferences.html:78
321
 #: searx/templates/pix-art/preferences.html:78
306
 msgid "save"
322
 msgid "save"
307
 msgstr "bewaren"
323
 msgstr "bewaren"
308
 
324
 
309
 #: searx/templates/courgette/preferences.html:128
325
 #: searx/templates/courgette/preferences.html:128
310
 #: searx/templates/default/preferences.html:116
326
 #: searx/templates/default/preferences.html:116
311
-#: searx/templates/oscar/preferences.html:187
327
+#: searx/templates/oscar/preferences.html:242
312
 msgid "Reset defaults"
328
 msgid "Reset defaults"
313
 msgstr "Standaardinstellingen herstellen"
329
 msgstr "Standaardinstellingen herstellen"
314
 
330
 
315
 #: searx/templates/courgette/preferences.html:129
331
 #: searx/templates/courgette/preferences.html:129
316
 #: searx/templates/default/preferences.html:117
332
 #: searx/templates/default/preferences.html:117
317
-#: searx/templates/oscar/preferences.html:186
333
+#: searx/templates/oscar/preferences.html:241
318
 #: searx/templates/pix-art/preferences.html:79
334
 #: searx/templates/pix-art/preferences.html:79
319
 msgid "back"
335
 msgid "back"
320
 msgstr "terug"
336
 msgstr "terug"
424
 msgstr "Omschakelen navigatie"
440
 msgstr "Omschakelen navigatie"
425
 
441
 
426
 #: searx/templates/oscar/preferences.html:17
442
 #: searx/templates/oscar/preferences.html:17
427
-#: searx/templates/oscar/preferences.html:24
443
+#: searx/templates/oscar/preferences.html:25
428
 msgid "General"
444
 msgid "General"
429
 msgstr "Algemeen"
445
 msgstr "Algemeen"
430
 
446
 
431
 #: searx/templates/oscar/preferences.html:18
447
 #: searx/templates/oscar/preferences.html:18
432
-#: searx/templates/oscar/preferences.html:125
448
+#: searx/templates/oscar/preferences.html:126
433
 msgid "Engines"
449
 msgid "Engines"
434
 msgstr "Zoekmachines"
450
 msgstr "Zoekmachines"
435
 
451
 
436
 #: searx/templates/oscar/preferences.html:19
452
 #: searx/templates/oscar/preferences.html:19
437
-#: searx/templates/oscar/preferences.html:159
453
+#: searx/templates/oscar/preferences.html:187
438
 msgid "Plugins"
454
 msgid "Plugins"
439
 msgstr "Plugins"
455
 msgstr "Plugins"
440
 
456
 
441
-#: searx/templates/oscar/preferences.html:44
457
+#: searx/templates/oscar/preferences.html:20
458
+#: searx/templates/oscar/preferences.html:210
459
+msgid "Cookies"
460
+msgstr "Cookies"
461
+
462
+#: searx/templates/oscar/preferences.html:45
442
 msgid "What language do you prefer for search?"
463
 msgid "What language do you prefer for search?"
443
 msgstr "Welke taal wil je gebruiken voor het zoeken?"
464
 msgstr "Welke taal wil je gebruiken voor het zoeken?"
444
 
465
 
445
-#: searx/templates/oscar/preferences.html:55
466
+#: searx/templates/oscar/preferences.html:56
446
 msgid "Change the language of the layout"
467
 msgid "Change the language of the layout"
447
 msgstr "Wijzig de taal van de layout"
468
 msgstr "Wijzig de taal van de layout"
448
 
469
 
449
-#: searx/templates/oscar/preferences.html:65
470
+#: searx/templates/oscar/preferences.html:66
450
 msgid "Find stuff as you type"
471
 msgid "Find stuff as you type"
451
 msgstr "Zoek tijdens het typen"
472
 msgstr "Zoek tijdens het typen"
452
 
473
 
453
-#: searx/templates/oscar/preferences.html:76
474
+#: searx/templates/oscar/preferences.html:77
454
 msgid "Proxying image results through searx"
475
 msgid "Proxying image results through searx"
455
 msgstr "Proxyen afbeeldingen resultaat via searx"
476
 msgstr "Proxyen afbeeldingen resultaat via searx"
456
 
477
 
457
-#: searx/templates/oscar/preferences.html:85
478
+#: searx/templates/oscar/preferences.html:86
458
 msgid ""
479
 msgid ""
459
 "Change how forms are submited, <a "
480
 "Change how forms are submited, <a "
460
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
481
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
461
 " rel=\"external\">learn more about request methods</a>"
482
 " rel=\"external\">learn more about request methods</a>"
462
 msgstr "Bepaal hoe de formulieren worden ingestuurd, <a href=\"http://nl.wikipedia.org/wiki/Hypertext_Transfer_Protocol#HTTP-requests\" rel=\"external\">lees meer over request methodes</a>"
483
 msgstr "Bepaal hoe de formulieren worden ingestuurd, <a href=\"http://nl.wikipedia.org/wiki/Hypertext_Transfer_Protocol#HTTP-requests\" rel=\"external\">lees meer over request methodes</a>"
463
 
484
 
464
-#: searx/templates/oscar/preferences.html:94
485
+#: searx/templates/oscar/preferences.html:95
465
 msgid "Filter content"
486
 msgid "Filter content"
466
 msgstr "Filteren content"
487
 msgstr "Filteren content"
467
 
488
 
468
-#: searx/templates/oscar/preferences.html:104
489
+#: searx/templates/oscar/preferences.html:105
469
 msgid "Change searx layout"
490
 msgid "Change searx layout"
470
 msgstr "Wijzig searx layout"
491
 msgstr "Wijzig searx layout"
471
 
492
 
493
+#: searx/templates/oscar/preferences.html:143
494
+#: searx/templates/oscar/preferences.html:151
495
+msgid "Shortcut"
496
+msgstr "Snelkoppeling"
497
+
498
+#: searx/templates/oscar/preferences.html:145
499
+#: searx/templates/oscar/preferences.html:149
500
+msgid "Avg. time"
501
+msgstr "Gem. duur"
502
+
503
+#: searx/templates/oscar/preferences.html:146
504
+#: searx/templates/oscar/preferences.html:148
505
+msgid "Max time"
506
+msgstr "Max. duur"
507
+
508
+#: searx/templates/oscar/preferences.html:213
509
+msgid ""
510
+"This is the list of cookies and their values searx is storing on your "
511
+"computer."
512
+msgstr "Dit is de lijst van cookies en hun waarden die searx op je computer opslaat."
513
+
514
+#: searx/templates/oscar/preferences.html:214
515
+msgid "With that list, you can assess searx transparency."
516
+msgstr "Met deze lijst kan je de openheid van searx beoordelen."
517
+
518
+#: searx/templates/oscar/preferences.html:219
519
+msgid "Cookie name"
520
+msgstr "Cookienaam"
521
+
522
+#: searx/templates/oscar/preferences.html:220
523
+msgid "Value"
524
+msgstr "Waarde"
525
+
472
 #: searx/templates/oscar/results.html:7
526
 #: searx/templates/oscar/results.html:7
473
 msgid "Search results"
527
 msgid "Search results"
474
 msgstr "Zoekresultaten"
528
 msgstr "Zoekresultaten"
518
 msgid "Please enable JavaScript to use full functionality of this site."
572
 msgid "Please enable JavaScript to use full functionality of this site."
519
 msgstr "Activeer JavaScript om alle functionaliteit van deze site te gebruiken."
573
 msgstr "Activeer JavaScript om alle functionaliteit van deze site te gebruiken."
520
 
574
 
575
+#: searx/templates/oscar/messages/no_cookies.html:3
576
+msgid "Information!"
577
+msgstr "Informatie!"
578
+
579
+#: searx/templates/oscar/messages/no_cookies.html:4
580
+msgid "currently, there are no cookies defined."
581
+msgstr "er zijn momenteel geen cookies gedefinieerd."
582
+
521
 #: searx/templates/oscar/messages/no_data_available.html:4
583
 #: searx/templates/oscar/messages/no_data_available.html:4
522
 msgid "There is currently no data available. "
584
 msgid "There is currently no data available. "
523
 msgstr "Er zijn momenteel geen gegevens beschikbaar."
585
 msgstr "Er zijn momenteel geen gegevens beschikbaar."

BIN
searx/translations/pt/LC_MESSAGES/messages.mo 파일 보기


BIN
searx/translations/ro/LC_MESSAGES/messages.mo 파일 보기


+ 117
- 55
searx/translations/ro/LC_MESSAGES/messages.po 파일 보기

8
 msgstr ""
8
 msgstr ""
9
 "Project-Id-Version: searx\n"
9
 "Project-Id-Version: searx\n"
10
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
11
-"POT-Creation-Date: 2015-04-26 18:57+0200\n"
12
-"PO-Revision-Date: 2015-05-02 22:23+0000\n"
13
-"Last-Translator: adrian.fita <adrian.fita@gmail.com>\n"
14
-"Language-Team: Romanian (http://www.transifex.com/projects/p/searx/language/ro/)\n"
11
+"POT-Creation-Date: 2015-08-24 11:44+0200\n"
12
+"PO-Revision-Date: 2015-08-24 09:45+0000\n"
13
+"Last-Translator: pointhi\n"
14
+"Language-Team: Romanian (http://www.transifex.com/asciimoo/searx/language/ro/)\n"
15
 "MIME-Version: 1.0\n"
15
 "MIME-Version: 1.0\n"
16
 "Content-Type: text/plain; charset=UTF-8\n"
16
 "Content-Type: text/plain; charset=UTF-8\n"
17
 "Content-Transfer-Encoding: 8bit\n"
17
 "Content-Transfer-Encoding: 8bit\n"
19
 "Language: ro\n"
19
 "Language: ro\n"
20
 "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
20
 "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
21
 
21
 
22
-#: searx/webapp.py:104
22
+#: searx/webapp.py:114
23
 msgid "files"
23
 msgid "files"
24
 msgstr "fișiere"
24
 msgstr "fișiere"
25
 
25
 
26
-#: searx/webapp.py:105
26
+#: searx/webapp.py:115
27
 msgid "general"
27
 msgid "general"
28
 msgstr "general"
28
 msgstr "general"
29
 
29
 
30
-#: searx/webapp.py:106
30
+#: searx/webapp.py:116
31
 msgid "music"
31
 msgid "music"
32
 msgstr "muzică"
32
 msgstr "muzică"
33
 
33
 
34
-#: searx/webapp.py:107
34
+#: searx/webapp.py:117
35
 msgid "social media"
35
 msgid "social media"
36
 msgstr "rețele sociale"
36
 msgstr "rețele sociale"
37
 
37
 
38
-#: searx/webapp.py:108
38
+#: searx/webapp.py:118
39
 msgid "images"
39
 msgid "images"
40
 msgstr "imagini"
40
 msgstr "imagini"
41
 
41
 
42
-#: searx/webapp.py:109
42
+#: searx/webapp.py:119
43
 msgid "videos"
43
 msgid "videos"
44
 msgstr "videouri"
44
 msgstr "videouri"
45
 
45
 
46
-#: searx/webapp.py:110
46
+#: searx/webapp.py:120
47
 msgid "it"
47
 msgid "it"
48
 msgstr "el(ea)"
48
 msgstr "el(ea)"
49
 
49
 
50
-#: searx/webapp.py:111
50
+#: searx/webapp.py:121
51
 msgid "news"
51
 msgid "news"
52
 msgstr "știri"
52
 msgstr "știri"
53
 
53
 
54
-#: searx/webapp.py:112
54
+#: searx/webapp.py:122
55
 msgid "map"
55
 msgid "map"
56
 msgstr "hartă"
56
 msgstr "hartă"
57
 
57
 
58
-#: searx/webapp.py:396
58
+#: searx/webapp.py:414
59
 msgid "{minutes} minute(s) ago"
59
 msgid "{minutes} minute(s) ago"
60
 msgstr "{minutes} minut(e) în urmă"
60
 msgstr "{minutes} minut(e) în urmă"
61
 
61
 
62
-#: searx/webapp.py:398
62
+#: searx/webapp.py:416
63
 msgid "{hours} hour(s), {minutes} minute(s) ago"
63
 msgid "{hours} hour(s), {minutes} minute(s) ago"
64
 msgstr "{hours} oră(e), {minutes} minut(e) în urmă"
64
 msgstr "{hours} oră(e), {minutes} minut(e) în urmă"
65
 
65
 
66
-#: searx/engines/__init__.py:182
66
+#: searx/engines/__init__.py:185
67
 msgid "Page loads (sec)"
67
 msgid "Page loads (sec)"
68
 msgstr "Încărcarea paginilor (sec)"
68
 msgstr "Încărcarea paginilor (sec)"
69
 
69
 
70
-#: searx/engines/__init__.py:186
70
+#: searx/engines/__init__.py:189
71
 msgid "Number of results"
71
 msgid "Number of results"
72
 msgstr "Numărul de rezultate"
72
 msgstr "Numărul de rezultate"
73
 
73
 
74
-#: searx/engines/__init__.py:190
74
+#: searx/engines/__init__.py:193
75
 msgid "Scores"
75
 msgid "Scores"
76
 msgstr "Scoruri"
76
 msgstr "Scoruri"
77
 
77
 
78
-#: searx/engines/__init__.py:194
78
+#: searx/engines/__init__.py:197
79
 msgid "Scores per result"
79
 msgid "Scores per result"
80
 msgstr "Scoruri per rezultat"
80
 msgstr "Scoruri per rezultat"
81
 
81
 
82
-#: searx/engines/__init__.py:198
82
+#: searx/engines/__init__.py:201
83
 msgid "Errors"
83
 msgid "Errors"
84
 msgstr "Erori"
84
 msgstr "Erori"
85
 
85
 
94
 #: searx/plugins/search_on_category_select.py:19
94
 #: searx/plugins/search_on_category_select.py:19
95
 msgid ""
95
 msgid ""
96
 "Perform search immediately if a category selected. Disable to select "
96
 "Perform search immediately if a category selected. Disable to select "
97
-"multiple categories."
98
-msgstr "Realizează căutarea imediat dacă s-a selectat o categorie. Dezactivați pentru a selecta mai multe categorii."
97
+"multiple categories. (JavaScript required)"
98
+msgstr ""
99
+
100
+#: searx/plugins/self_info.py:20
101
+msgid ""
102
+"Displays your IP if the query is \"ip\" and your user agent if the query "
103
+"contains \"user agent\"."
104
+msgstr ""
99
 
105
 
100
-#: searx/plugins/self_ip.py:19
101
-msgid "Display your source IP address if the query expression is \"ip\""
102
-msgstr "Afișează adresa voastră IP sursă dacă expresia interogării este „ip”"
106
+#: searx/plugins/tracker_url_remover.py:26
107
+msgid "Tracker URL remover"
108
+msgstr ""
109
+
110
+#: searx/plugins/tracker_url_remover.py:27
111
+msgid "Remove trackers arguments from the returned URL"
112
+msgstr ""
103
 
113
 
104
 #: searx/templates/courgette/index.html:9
114
 #: searx/templates/courgette/index.html:9
105
 #: searx/templates/courgette/index.html:13
115
 #: searx/templates/courgette/index.html:13
127
 
137
 
128
 #: searx/templates/courgette/preferences.html:9
138
 #: searx/templates/courgette/preferences.html:9
129
 #: searx/templates/default/preferences.html:9
139
 #: searx/templates/default/preferences.html:9
130
-#: searx/templates/oscar/preferences.html:35
131
-#: searx/templates/oscar/preferences.html:37
140
+#: searx/templates/oscar/preferences.html:36
141
+#: searx/templates/oscar/preferences.html:38
132
 msgid "Default categories"
142
 msgid "Default categories"
133
 msgstr "Categorii implicite"
143
 msgstr "Categorii implicite"
134
 
144
 
135
 #: searx/templates/courgette/preferences.html:13
145
 #: searx/templates/courgette/preferences.html:13
136
 #: searx/templates/default/preferences.html:14
146
 #: searx/templates/default/preferences.html:14
137
-#: searx/templates/oscar/preferences.html:43
147
+#: searx/templates/oscar/preferences.html:44
138
 #: searx/templates/pix-art/preferences.html:9
148
 #: searx/templates/pix-art/preferences.html:9
139
 msgid "Search language"
149
 msgid "Search language"
140
 msgstr "Limba de căutare"
150
 msgstr "Limba de căutare"
141
 
151
 
142
 #: searx/templates/courgette/preferences.html:16
152
 #: searx/templates/courgette/preferences.html:16
143
 #: searx/templates/default/preferences.html:17
153
 #: searx/templates/default/preferences.html:17
144
-#: searx/templates/oscar/preferences.html:47
154
+#: searx/templates/oscar/preferences.html:48
145
 #: searx/templates/pix-art/preferences.html:12
155
 #: searx/templates/pix-art/preferences.html:12
146
 msgid "Automatic"
156
 msgid "Automatic"
147
 msgstr "Automat"
157
 msgstr "Automat"
148
 
158
 
149
 #: searx/templates/courgette/preferences.html:24
159
 #: searx/templates/courgette/preferences.html:24
150
 #: searx/templates/default/preferences.html:25
160
 #: searx/templates/default/preferences.html:25
151
-#: searx/templates/oscar/preferences.html:54
161
+#: searx/templates/oscar/preferences.html:55
152
 #: searx/templates/pix-art/preferences.html:20
162
 #: searx/templates/pix-art/preferences.html:20
153
 msgid "Interface language"
163
 msgid "Interface language"
154
 msgstr "Limba interfeței"
164
 msgstr "Limba interfeței"
155
 
165
 
156
 #: searx/templates/courgette/preferences.html:34
166
 #: searx/templates/courgette/preferences.html:34
157
 #: searx/templates/default/preferences.html:35
167
 #: searx/templates/default/preferences.html:35
158
-#: searx/templates/oscar/preferences.html:64
168
+#: searx/templates/oscar/preferences.html:65
159
 msgid "Autocomplete"
169
 msgid "Autocomplete"
160
 msgstr "Completare automată"
170
 msgstr "Completare automată"
161
 
171
 
162
 #: searx/templates/courgette/preferences.html:45
172
 #: searx/templates/courgette/preferences.html:45
163
 #: searx/templates/default/preferences.html:46
173
 #: searx/templates/default/preferences.html:46
164
-#: searx/templates/oscar/preferences.html:75
174
+#: searx/templates/oscar/preferences.html:76
165
 msgid "Image proxy"
175
 msgid "Image proxy"
166
 msgstr "Proxy de imagini"
176
 msgstr "Proxy de imagini"
167
 
177
 
168
 #: searx/templates/courgette/preferences.html:48
178
 #: searx/templates/courgette/preferences.html:48
169
 #: searx/templates/default/preferences.html:49
179
 #: searx/templates/default/preferences.html:49
170
-#: searx/templates/oscar/preferences.html:79
180
+#: searx/templates/oscar/preferences.html:80
171
 msgid "Enabled"
181
 msgid "Enabled"
172
 msgstr "Activat"
182
 msgstr "Activat"
173
 
183
 
174
 #: searx/templates/courgette/preferences.html:49
184
 #: searx/templates/courgette/preferences.html:49
175
 #: searx/templates/default/preferences.html:50
185
 #: searx/templates/default/preferences.html:50
176
-#: searx/templates/oscar/preferences.html:80
186
+#: searx/templates/oscar/preferences.html:81
177
 msgid "Disabled"
187
 msgid "Disabled"
178
 msgstr "Dezactivat"
188
 msgstr "Dezactivat"
179
 
189
 
180
 #: searx/templates/courgette/preferences.html:54
190
 #: searx/templates/courgette/preferences.html:54
181
 #: searx/templates/default/preferences.html:55
191
 #: searx/templates/default/preferences.html:55
182
-#: searx/templates/oscar/preferences.html:84
192
+#: searx/templates/oscar/preferences.html:85
183
 #: searx/templates/pix-art/preferences.html:30
193
 #: searx/templates/pix-art/preferences.html:30
184
 msgid "Method"
194
 msgid "Method"
185
 msgstr "Metodă"
195
 msgstr "Metodă"
186
 
196
 
187
 #: searx/templates/courgette/preferences.html:63
197
 #: searx/templates/courgette/preferences.html:63
188
 #: searx/templates/default/preferences.html:64
198
 #: searx/templates/default/preferences.html:64
189
-#: searx/templates/oscar/preferences.html:93
199
+#: searx/templates/oscar/preferences.html:94
200
+#: searx/templates/oscar/preferences.html:144
201
+#: searx/templates/oscar/preferences.html:150
190
 msgid "SafeSearch"
202
 msgid "SafeSearch"
191
 msgstr "CăutareSigură"
203
 msgstr "CăutareSigură"
192
 
204
 
193
 #: searx/templates/courgette/preferences.html:66
205
 #: searx/templates/courgette/preferences.html:66
194
 #: searx/templates/default/preferences.html:67
206
 #: searx/templates/default/preferences.html:67
195
-#: searx/templates/oscar/preferences.html:97
207
+#: searx/templates/oscar/preferences.html:98
196
 msgid "Strict"
208
 msgid "Strict"
197
 msgstr "Strict"
209
 msgstr "Strict"
198
 
210
 
199
 #: searx/templates/courgette/preferences.html:67
211
 #: searx/templates/courgette/preferences.html:67
200
 #: searx/templates/default/preferences.html:68
212
 #: searx/templates/default/preferences.html:68
201
-#: searx/templates/oscar/preferences.html:98
213
+#: searx/templates/oscar/preferences.html:99
202
 msgid "Moderate"
214
 msgid "Moderate"
203
 msgstr "Moderat"
215
 msgstr "Moderat"
204
 
216
 
205
 #: searx/templates/courgette/preferences.html:68
217
 #: searx/templates/courgette/preferences.html:68
206
 #: searx/templates/default/preferences.html:69
218
 #: searx/templates/default/preferences.html:69
207
-#: searx/templates/oscar/preferences.html:99
219
+#: searx/templates/oscar/preferences.html:100
208
 msgid "None"
220
 msgid "None"
209
 msgstr "Nimic"
221
 msgstr "Nimic"
210
 
222
 
211
 #: searx/templates/courgette/preferences.html:73
223
 #: searx/templates/courgette/preferences.html:73
212
 #: searx/templates/default/preferences.html:74
224
 #: searx/templates/default/preferences.html:74
213
-#: searx/templates/oscar/preferences.html:103
225
+#: searx/templates/oscar/preferences.html:104
214
 #: searx/templates/pix-art/preferences.html:39
226
 #: searx/templates/pix-art/preferences.html:39
215
 msgid "Themes"
227
 msgid "Themes"
216
 msgstr "Teme"
228
 msgstr "Teme"
251
 
263
 
252
 #: searx/templates/courgette/preferences.html:100
264
 #: searx/templates/courgette/preferences.html:100
253
 #: searx/templates/default/preferences.html:88
265
 #: searx/templates/default/preferences.html:88
266
+#: searx/templates/oscar/preferences.html:142
267
+#: searx/templates/oscar/preferences.html:152
254
 #: searx/templates/pix-art/preferences.html:53
268
 #: searx/templates/pix-art/preferences.html:53
255
 msgid "Engine name"
269
 msgid "Engine name"
256
 msgstr "Numele motorului"
270
 msgstr "Numele motorului"
265
 #: searx/templates/default/preferences.html:90
279
 #: searx/templates/default/preferences.html:90
266
 #: searx/templates/default/preferences.html:101
280
 #: searx/templates/default/preferences.html:101
267
 #: searx/templates/oscar/macros.html:67
281
 #: searx/templates/oscar/macros.html:67
282
+#: searx/templates/oscar/preferences.html:141
283
+#: searx/templates/oscar/preferences.html:153
268
 #: searx/templates/pix-art/preferences.html:54
284
 #: searx/templates/pix-art/preferences.html:54
269
 #: searx/templates/pix-art/preferences.html:64
285
 #: searx/templates/pix-art/preferences.html:64
270
 msgid "Allow"
286
 msgid "Allow"
282
 
298
 
283
 #: searx/templates/courgette/preferences.html:122
299
 #: searx/templates/courgette/preferences.html:122
284
 #: searx/templates/default/preferences.html:110
300
 #: searx/templates/default/preferences.html:110
285
-#: searx/templates/oscar/preferences.html:180
301
+#: searx/templates/oscar/preferences.html:235
286
 #: searx/templates/pix-art/preferences.html:73
302
 #: searx/templates/pix-art/preferences.html:73
287
 msgid ""
303
 msgid ""
288
 "These settings are stored in your cookies, this allows us not to store this "
304
 "These settings are stored in your cookies, this allows us not to store this "
291
 
307
 
292
 #: searx/templates/courgette/preferences.html:124
308
 #: searx/templates/courgette/preferences.html:124
293
 #: searx/templates/default/preferences.html:112
309
 #: searx/templates/default/preferences.html:112
294
-#: searx/templates/oscar/preferences.html:182
310
+#: searx/templates/oscar/preferences.html:237
295
 #: searx/templates/pix-art/preferences.html:75
311
 #: searx/templates/pix-art/preferences.html:75
296
 msgid ""
312
 msgid ""
297
 "These cookies serve your sole convenience, we don't use these cookies to "
313
 "These cookies serve your sole convenience, we don't use these cookies to "
300
 
316
 
301
 #: searx/templates/courgette/preferences.html:127
317
 #: searx/templates/courgette/preferences.html:127
302
 #: searx/templates/default/preferences.html:115
318
 #: searx/templates/default/preferences.html:115
303
-#: searx/templates/oscar/preferences.html:185
319
+#: searx/templates/oscar/preferences.html:240
304
 #: searx/templates/pix-art/preferences.html:78
320
 #: searx/templates/pix-art/preferences.html:78
305
 msgid "save"
321
 msgid "save"
306
 msgstr "salvează"
322
 msgstr "salvează"
307
 
323
 
308
 #: searx/templates/courgette/preferences.html:128
324
 #: searx/templates/courgette/preferences.html:128
309
 #: searx/templates/default/preferences.html:116
325
 #: searx/templates/default/preferences.html:116
310
-#: searx/templates/oscar/preferences.html:187
326
+#: searx/templates/oscar/preferences.html:242
311
 msgid "Reset defaults"
327
 msgid "Reset defaults"
312
 msgstr "Resetează valorile implicite"
328
 msgstr "Resetează valorile implicite"
313
 
329
 
314
 #: searx/templates/courgette/preferences.html:129
330
 #: searx/templates/courgette/preferences.html:129
315
 #: searx/templates/default/preferences.html:117
331
 #: searx/templates/default/preferences.html:117
316
-#: searx/templates/oscar/preferences.html:186
332
+#: searx/templates/oscar/preferences.html:241
317
 #: searx/templates/pix-art/preferences.html:79
333
 #: searx/templates/pix-art/preferences.html:79
318
 msgid "back"
334
 msgid "back"
319
 msgstr "înapoi"
335
 msgstr "înapoi"
423
 msgstr "Comută navigarea"
439
 msgstr "Comută navigarea"
424
 
440
 
425
 #: searx/templates/oscar/preferences.html:17
441
 #: searx/templates/oscar/preferences.html:17
426
-#: searx/templates/oscar/preferences.html:24
442
+#: searx/templates/oscar/preferences.html:25
427
 msgid "General"
443
 msgid "General"
428
 msgstr "General"
444
 msgstr "General"
429
 
445
 
430
 #: searx/templates/oscar/preferences.html:18
446
 #: searx/templates/oscar/preferences.html:18
431
-#: searx/templates/oscar/preferences.html:125
447
+#: searx/templates/oscar/preferences.html:126
432
 msgid "Engines"
448
 msgid "Engines"
433
 msgstr "Motoare"
449
 msgstr "Motoare"
434
 
450
 
435
 #: searx/templates/oscar/preferences.html:19
451
 #: searx/templates/oscar/preferences.html:19
436
-#: searx/templates/oscar/preferences.html:159
452
+#: searx/templates/oscar/preferences.html:187
437
 msgid "Plugins"
453
 msgid "Plugins"
438
 msgstr "Module"
454
 msgstr "Module"
439
 
455
 
440
-#: searx/templates/oscar/preferences.html:44
456
+#: searx/templates/oscar/preferences.html:20
457
+#: searx/templates/oscar/preferences.html:210
458
+msgid "Cookies"
459
+msgstr ""
460
+
461
+#: searx/templates/oscar/preferences.html:45
441
 msgid "What language do you prefer for search?"
462
 msgid "What language do you prefer for search?"
442
 msgstr "Ce limbă preferați pentru căutare?"
463
 msgstr "Ce limbă preferați pentru căutare?"
443
 
464
 
444
-#: searx/templates/oscar/preferences.html:55
465
+#: searx/templates/oscar/preferences.html:56
445
 msgid "Change the language of the layout"
466
 msgid "Change the language of the layout"
446
 msgstr "Schimbă limba aspectului"
467
 msgstr "Schimbă limba aspectului"
447
 
468
 
448
-#: searx/templates/oscar/preferences.html:65
469
+#: searx/templates/oscar/preferences.html:66
449
 msgid "Find stuff as you type"
470
 msgid "Find stuff as you type"
450
 msgstr "Găsește lucruri în timp ce tastezi"
471
 msgstr "Găsește lucruri în timp ce tastezi"
451
 
472
 
452
-#: searx/templates/oscar/preferences.html:76
473
+#: searx/templates/oscar/preferences.html:77
453
 msgid "Proxying image results through searx"
474
 msgid "Proxying image results through searx"
454
 msgstr "Transferă rezultatele cu imagini prin searx"
475
 msgstr "Transferă rezultatele cu imagini prin searx"
455
 
476
 
456
-#: searx/templates/oscar/preferences.html:85
477
+#: searx/templates/oscar/preferences.html:86
457
 msgid ""
478
 msgid ""
458
 "Change how forms are submited, <a "
479
 "Change how forms are submited, <a "
459
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
480
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
460
 " rel=\"external\">learn more about request methods</a>"
481
 " rel=\"external\">learn more about request methods</a>"
461
 msgstr "Modificați cum sunt trimise formularele, <a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">învățați mai multe despre metodele de transfer</a>"
482
 msgstr "Modificați cum sunt trimise formularele, <a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">învățați mai multe despre metodele de transfer</a>"
462
 
483
 
463
-#: searx/templates/oscar/preferences.html:94
484
+#: searx/templates/oscar/preferences.html:95
464
 msgid "Filter content"
485
 msgid "Filter content"
465
 msgstr "Filtrează conținutul"
486
 msgstr "Filtrează conținutul"
466
 
487
 
467
-#: searx/templates/oscar/preferences.html:104
488
+#: searx/templates/oscar/preferences.html:105
468
 msgid "Change searx layout"
489
 msgid "Change searx layout"
469
 msgstr "Schimbă aspectul lui searx"
490
 msgstr "Schimbă aspectul lui searx"
470
 
491
 
492
+#: searx/templates/oscar/preferences.html:143
493
+#: searx/templates/oscar/preferences.html:151
494
+msgid "Shortcut"
495
+msgstr ""
496
+
497
+#: searx/templates/oscar/preferences.html:145
498
+#: searx/templates/oscar/preferences.html:149
499
+msgid "Avg. time"
500
+msgstr ""
501
+
502
+#: searx/templates/oscar/preferences.html:146
503
+#: searx/templates/oscar/preferences.html:148
504
+msgid "Max time"
505
+msgstr ""
506
+
507
+#: searx/templates/oscar/preferences.html:213
508
+msgid ""
509
+"This is the list of cookies and their values searx is storing on your "
510
+"computer."
511
+msgstr ""
512
+
513
+#: searx/templates/oscar/preferences.html:214
514
+msgid "With that list, you can assess searx transparency."
515
+msgstr ""
516
+
517
+#: searx/templates/oscar/preferences.html:219
518
+msgid "Cookie name"
519
+msgstr ""
520
+
521
+#: searx/templates/oscar/preferences.html:220
522
+msgid "Value"
523
+msgstr ""
524
+
471
 #: searx/templates/oscar/results.html:7
525
 #: searx/templates/oscar/results.html:7
472
 msgid "Search results"
526
 msgid "Search results"
473
 msgstr "Rezultatele căutării"
527
 msgstr "Rezultatele căutării"
517
 msgid "Please enable JavaScript to use full functionality of this site."
571
 msgid "Please enable JavaScript to use full functionality of this site."
518
 msgstr "Vă rog activați JavaScript pentru a utiliza funcționalitatea completă a acestui site."
572
 msgstr "Vă rog activați JavaScript pentru a utiliza funcționalitatea completă a acestui site."
519
 
573
 
574
+#: searx/templates/oscar/messages/no_cookies.html:3
575
+msgid "Information!"
576
+msgstr ""
577
+
578
+#: searx/templates/oscar/messages/no_cookies.html:4
579
+msgid "currently, there are no cookies defined."
580
+msgstr ""
581
+
520
 #: searx/templates/oscar/messages/no_data_available.html:4
582
 #: searx/templates/oscar/messages/no_data_available.html:4
521
 msgid "There is currently no data available. "
583
 msgid "There is currently no data available. "
522
 msgstr "Deocamdată nu există date disponibile."
584
 msgstr "Deocamdată nu există date disponibile."

BIN
searx/translations/ru/LC_MESSAGES/messages.mo 파일 보기


+ 115
- 53
searx/translations/ru/LC_MESSAGES/messages.po 파일 보기

9
 msgstr ""
9
 msgstr ""
10
 "Project-Id-Version: searx\n"
10
 "Project-Id-Version: searx\n"
11
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
11
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
12
-"POT-Creation-Date: 2015-04-26 18:57+0200\n"
13
-"PO-Revision-Date: 2015-04-26 17:02+0000\n"
14
-"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
15
-"Language-Team: Russian (http://www.transifex.com/projects/p/searx/language/ru/)\n"
12
+"POT-Creation-Date: 2015-08-24 11:44+0200\n"
13
+"PO-Revision-Date: 2015-08-24 09:45+0000\n"
14
+"Last-Translator: pointhi\n"
15
+"Language-Team: Russian (http://www.transifex.com/asciimoo/searx/language/ru/)\n"
16
 "MIME-Version: 1.0\n"
16
 "MIME-Version: 1.0\n"
17
 "Content-Type: text/plain; charset=UTF-8\n"
17
 "Content-Type: text/plain; charset=UTF-8\n"
18
 "Content-Transfer-Encoding: 8bit\n"
18
 "Content-Transfer-Encoding: 8bit\n"
20
 "Language: ru\n"
20
 "Language: ru\n"
21
 "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
21
 "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
22
 
22
 
23
-#: searx/webapp.py:104
23
+#: searx/webapp.py:114
24
 msgid "files"
24
 msgid "files"
25
 msgstr "файлы"
25
 msgstr "файлы"
26
 
26
 
27
-#: searx/webapp.py:105
27
+#: searx/webapp.py:115
28
 msgid "general"
28
 msgid "general"
29
 msgstr "общие"
29
 msgstr "общие"
30
 
30
 
31
-#: searx/webapp.py:106
31
+#: searx/webapp.py:116
32
 msgid "music"
32
 msgid "music"
33
 msgstr "музыка"
33
 msgstr "музыка"
34
 
34
 
35
-#: searx/webapp.py:107
35
+#: searx/webapp.py:117
36
 msgid "social media"
36
 msgid "social media"
37
 msgstr "соцсети"
37
 msgstr "соцсети"
38
 
38
 
39
-#: searx/webapp.py:108
39
+#: searx/webapp.py:118
40
 msgid "images"
40
 msgid "images"
41
 msgstr "картинки"
41
 msgstr "картинки"
42
 
42
 
43
-#: searx/webapp.py:109
43
+#: searx/webapp.py:119
44
 msgid "videos"
44
 msgid "videos"
45
 msgstr "видео"
45
 msgstr "видео"
46
 
46
 
47
-#: searx/webapp.py:110
47
+#: searx/webapp.py:120
48
 msgid "it"
48
 msgid "it"
49
 msgstr "IT"
49
 msgstr "IT"
50
 
50
 
51
-#: searx/webapp.py:111
51
+#: searx/webapp.py:121
52
 msgid "news"
52
 msgid "news"
53
 msgstr "новости"
53
 msgstr "новости"
54
 
54
 
55
-#: searx/webapp.py:112
55
+#: searx/webapp.py:122
56
 msgid "map"
56
 msgid "map"
57
 msgstr "карты"
57
 msgstr "карты"
58
 
58
 
59
-#: searx/webapp.py:396
59
+#: searx/webapp.py:414
60
 msgid "{minutes} minute(s) ago"
60
 msgid "{minutes} minute(s) ago"
61
 msgstr "{minutes} минут назад"
61
 msgstr "{minutes} минут назад"
62
 
62
 
63
-#: searx/webapp.py:398
63
+#: searx/webapp.py:416
64
 msgid "{hours} hour(s), {minutes} minute(s) ago"
64
 msgid "{hours} hour(s), {minutes} minute(s) ago"
65
 msgstr "{hours} час, {minutes} минут назад"
65
 msgstr "{hours} час, {minutes} минут назад"
66
 
66
 
67
-#: searx/engines/__init__.py:182
67
+#: searx/engines/__init__.py:185
68
 msgid "Page loads (sec)"
68
 msgid "Page loads (sec)"
69
 msgstr "Время загрузки (сек)"
69
 msgstr "Время загрузки (сек)"
70
 
70
 
71
-#: searx/engines/__init__.py:186
71
+#: searx/engines/__init__.py:189
72
 msgid "Number of results"
72
 msgid "Number of results"
73
 msgstr "Число результатов"
73
 msgstr "Число результатов"
74
 
74
 
75
-#: searx/engines/__init__.py:190
75
+#: searx/engines/__init__.py:193
76
 msgid "Scores"
76
 msgid "Scores"
77
 msgstr "Попаданий"
77
 msgstr "Попаданий"
78
 
78
 
79
-#: searx/engines/__init__.py:194
79
+#: searx/engines/__init__.py:197
80
 msgid "Scores per result"
80
 msgid "Scores per result"
81
 msgstr "Попаданий за результат"
81
 msgstr "Попаданий за результат"
82
 
82
 
83
-#: searx/engines/__init__.py:198
83
+#: searx/engines/__init__.py:201
84
 msgid "Errors"
84
 msgid "Errors"
85
 msgstr "Ошибок"
85
 msgstr "Ошибок"
86
 
86
 
95
 #: searx/plugins/search_on_category_select.py:19
95
 #: searx/plugins/search_on_category_select.py:19
96
 msgid ""
96
 msgid ""
97
 "Perform search immediately if a category selected. Disable to select "
97
 "Perform search immediately if a category selected. Disable to select "
98
-"multiple categories."
98
+"multiple categories. (JavaScript required)"
99
 msgstr ""
99
 msgstr ""
100
 
100
 
101
-#: searx/plugins/self_ip.py:19
102
-msgid "Display your source IP address if the query expression is \"ip\""
101
+#: searx/plugins/self_info.py:20
102
+msgid ""
103
+"Displays your IP if the query is \"ip\" and your user agent if the query "
104
+"contains \"user agent\"."
105
+msgstr ""
106
+
107
+#: searx/plugins/tracker_url_remover.py:26
108
+msgid "Tracker URL remover"
109
+msgstr ""
110
+
111
+#: searx/plugins/tracker_url_remover.py:27
112
+msgid "Remove trackers arguments from the returned URL"
103
 msgstr ""
113
 msgstr ""
104
 
114
 
105
 #: searx/templates/courgette/index.html:9
115
 #: searx/templates/courgette/index.html:9
128
 
138
 
129
 #: searx/templates/courgette/preferences.html:9
139
 #: searx/templates/courgette/preferences.html:9
130
 #: searx/templates/default/preferences.html:9
140
 #: searx/templates/default/preferences.html:9
131
-#: searx/templates/oscar/preferences.html:35
132
-#: searx/templates/oscar/preferences.html:37
141
+#: searx/templates/oscar/preferences.html:36
142
+#: searx/templates/oscar/preferences.html:38
133
 msgid "Default categories"
143
 msgid "Default categories"
134
 msgstr "Категории по-умолчанию"
144
 msgstr "Категории по-умолчанию"
135
 
145
 
136
 #: searx/templates/courgette/preferences.html:13
146
 #: searx/templates/courgette/preferences.html:13
137
 #: searx/templates/default/preferences.html:14
147
 #: searx/templates/default/preferences.html:14
138
-#: searx/templates/oscar/preferences.html:43
148
+#: searx/templates/oscar/preferences.html:44
139
 #: searx/templates/pix-art/preferences.html:9
149
 #: searx/templates/pix-art/preferences.html:9
140
 msgid "Search language"
150
 msgid "Search language"
141
 msgstr "Язык поиска"
151
 msgstr "Язык поиска"
142
 
152
 
143
 #: searx/templates/courgette/preferences.html:16
153
 #: searx/templates/courgette/preferences.html:16
144
 #: searx/templates/default/preferences.html:17
154
 #: searx/templates/default/preferences.html:17
145
-#: searx/templates/oscar/preferences.html:47
155
+#: searx/templates/oscar/preferences.html:48
146
 #: searx/templates/pix-art/preferences.html:12
156
 #: searx/templates/pix-art/preferences.html:12
147
 msgid "Automatic"
157
 msgid "Automatic"
148
 msgstr "Выбирать автоматически"
158
 msgstr "Выбирать автоматически"
149
 
159
 
150
 #: searx/templates/courgette/preferences.html:24
160
 #: searx/templates/courgette/preferences.html:24
151
 #: searx/templates/default/preferences.html:25
161
 #: searx/templates/default/preferences.html:25
152
-#: searx/templates/oscar/preferences.html:54
162
+#: searx/templates/oscar/preferences.html:55
153
 #: searx/templates/pix-art/preferences.html:20
163
 #: searx/templates/pix-art/preferences.html:20
154
 msgid "Interface language"
164
 msgid "Interface language"
155
 msgstr "Язык интерфейса"
165
 msgstr "Язык интерфейса"
156
 
166
 
157
 #: searx/templates/courgette/preferences.html:34
167
 #: searx/templates/courgette/preferences.html:34
158
 #: searx/templates/default/preferences.html:35
168
 #: searx/templates/default/preferences.html:35
159
-#: searx/templates/oscar/preferences.html:64
169
+#: searx/templates/oscar/preferences.html:65
160
 msgid "Autocomplete"
170
 msgid "Autocomplete"
161
 msgstr "Авто-подсказки"
171
 msgstr "Авто-подсказки"
162
 
172
 
163
 #: searx/templates/courgette/preferences.html:45
173
 #: searx/templates/courgette/preferences.html:45
164
 #: searx/templates/default/preferences.html:46
174
 #: searx/templates/default/preferences.html:46
165
-#: searx/templates/oscar/preferences.html:75
175
+#: searx/templates/oscar/preferences.html:76
166
 msgid "Image proxy"
176
 msgid "Image proxy"
167
 msgstr "Прокси для картинок"
177
 msgstr "Прокси для картинок"
168
 
178
 
169
 #: searx/templates/courgette/preferences.html:48
179
 #: searx/templates/courgette/preferences.html:48
170
 #: searx/templates/default/preferences.html:49
180
 #: searx/templates/default/preferences.html:49
171
-#: searx/templates/oscar/preferences.html:79
181
+#: searx/templates/oscar/preferences.html:80
172
 msgid "Enabled"
182
 msgid "Enabled"
173
 msgstr "Включен"
183
 msgstr "Включен"
174
 
184
 
175
 #: searx/templates/courgette/preferences.html:49
185
 #: searx/templates/courgette/preferences.html:49
176
 #: searx/templates/default/preferences.html:50
186
 #: searx/templates/default/preferences.html:50
177
-#: searx/templates/oscar/preferences.html:80
187
+#: searx/templates/oscar/preferences.html:81
178
 msgid "Disabled"
188
 msgid "Disabled"
179
 msgstr "Выключен"
189
 msgstr "Выключен"
180
 
190
 
181
 #: searx/templates/courgette/preferences.html:54
191
 #: searx/templates/courgette/preferences.html:54
182
 #: searx/templates/default/preferences.html:55
192
 #: searx/templates/default/preferences.html:55
183
-#: searx/templates/oscar/preferences.html:84
193
+#: searx/templates/oscar/preferences.html:85
184
 #: searx/templates/pix-art/preferences.html:30
194
 #: searx/templates/pix-art/preferences.html:30
185
 msgid "Method"
195
 msgid "Method"
186
 msgstr "Метод"
196
 msgstr "Метод"
187
 
197
 
188
 #: searx/templates/courgette/preferences.html:63
198
 #: searx/templates/courgette/preferences.html:63
189
 #: searx/templates/default/preferences.html:64
199
 #: searx/templates/default/preferences.html:64
190
-#: searx/templates/oscar/preferences.html:93
200
+#: searx/templates/oscar/preferences.html:94
201
+#: searx/templates/oscar/preferences.html:144
202
+#: searx/templates/oscar/preferences.html:150
191
 msgid "SafeSearch"
203
 msgid "SafeSearch"
192
 msgstr "Безопасный поиск"
204
 msgstr "Безопасный поиск"
193
 
205
 
194
 #: searx/templates/courgette/preferences.html:66
206
 #: searx/templates/courgette/preferences.html:66
195
 #: searx/templates/default/preferences.html:67
207
 #: searx/templates/default/preferences.html:67
196
-#: searx/templates/oscar/preferences.html:97
208
+#: searx/templates/oscar/preferences.html:98
197
 msgid "Strict"
209
 msgid "Strict"
198
 msgstr "Строгий"
210
 msgstr "Строгий"
199
 
211
 
200
 #: searx/templates/courgette/preferences.html:67
212
 #: searx/templates/courgette/preferences.html:67
201
 #: searx/templates/default/preferences.html:68
213
 #: searx/templates/default/preferences.html:68
202
-#: searx/templates/oscar/preferences.html:98
214
+#: searx/templates/oscar/preferences.html:99
203
 msgid "Moderate"
215
 msgid "Moderate"
204
 msgstr "Умеренный"
216
 msgstr "Умеренный"
205
 
217
 
206
 #: searx/templates/courgette/preferences.html:68
218
 #: searx/templates/courgette/preferences.html:68
207
 #: searx/templates/default/preferences.html:69
219
 #: searx/templates/default/preferences.html:69
208
-#: searx/templates/oscar/preferences.html:99
220
+#: searx/templates/oscar/preferences.html:100
209
 msgid "None"
221
 msgid "None"
210
 msgstr "Выключен"
222
 msgstr "Выключен"
211
 
223
 
212
 #: searx/templates/courgette/preferences.html:73
224
 #: searx/templates/courgette/preferences.html:73
213
 #: searx/templates/default/preferences.html:74
225
 #: searx/templates/default/preferences.html:74
214
-#: searx/templates/oscar/preferences.html:103
226
+#: searx/templates/oscar/preferences.html:104
215
 #: searx/templates/pix-art/preferences.html:39
227
 #: searx/templates/pix-art/preferences.html:39
216
 msgid "Themes"
228
 msgid "Themes"
217
 msgstr "Темы"
229
 msgstr "Темы"
252
 
264
 
253
 #: searx/templates/courgette/preferences.html:100
265
 #: searx/templates/courgette/preferences.html:100
254
 #: searx/templates/default/preferences.html:88
266
 #: searx/templates/default/preferences.html:88
267
+#: searx/templates/oscar/preferences.html:142
268
+#: searx/templates/oscar/preferences.html:152
255
 #: searx/templates/pix-art/preferences.html:53
269
 #: searx/templates/pix-art/preferences.html:53
256
 msgid "Engine name"
270
 msgid "Engine name"
257
 msgstr "Имя движка"
271
 msgstr "Имя движка"
266
 #: searx/templates/default/preferences.html:90
280
 #: searx/templates/default/preferences.html:90
267
 #: searx/templates/default/preferences.html:101
281
 #: searx/templates/default/preferences.html:101
268
 #: searx/templates/oscar/macros.html:67
282
 #: searx/templates/oscar/macros.html:67
283
+#: searx/templates/oscar/preferences.html:141
284
+#: searx/templates/oscar/preferences.html:153
269
 #: searx/templates/pix-art/preferences.html:54
285
 #: searx/templates/pix-art/preferences.html:54
270
 #: searx/templates/pix-art/preferences.html:64
286
 #: searx/templates/pix-art/preferences.html:64
271
 msgid "Allow"
287
 msgid "Allow"
283
 
299
 
284
 #: searx/templates/courgette/preferences.html:122
300
 #: searx/templates/courgette/preferences.html:122
285
 #: searx/templates/default/preferences.html:110
301
 #: searx/templates/default/preferences.html:110
286
-#: searx/templates/oscar/preferences.html:180
302
+#: searx/templates/oscar/preferences.html:235
287
 #: searx/templates/pix-art/preferences.html:73
303
 #: searx/templates/pix-art/preferences.html:73
288
 msgid ""
304
 msgid ""
289
 "These settings are stored in your cookies, this allows us not to store this "
305
 "These settings are stored in your cookies, this allows us not to store this "
292
 
308
 
293
 #: searx/templates/courgette/preferences.html:124
309
 #: searx/templates/courgette/preferences.html:124
294
 #: searx/templates/default/preferences.html:112
310
 #: searx/templates/default/preferences.html:112
295
-#: searx/templates/oscar/preferences.html:182
311
+#: searx/templates/oscar/preferences.html:237
296
 #: searx/templates/pix-art/preferences.html:75
312
 #: searx/templates/pix-art/preferences.html:75
297
 msgid ""
313
 msgid ""
298
 "These cookies serve your sole convenience, we don't use these cookies to "
314
 "These cookies serve your sole convenience, we don't use these cookies to "
301
 
317
 
302
 #: searx/templates/courgette/preferences.html:127
318
 #: searx/templates/courgette/preferences.html:127
303
 #: searx/templates/default/preferences.html:115
319
 #: searx/templates/default/preferences.html:115
304
-#: searx/templates/oscar/preferences.html:185
320
+#: searx/templates/oscar/preferences.html:240
305
 #: searx/templates/pix-art/preferences.html:78
321
 #: searx/templates/pix-art/preferences.html:78
306
 msgid "save"
322
 msgid "save"
307
 msgstr "сохранить"
323
 msgstr "сохранить"
308
 
324
 
309
 #: searx/templates/courgette/preferences.html:128
325
 #: searx/templates/courgette/preferences.html:128
310
 #: searx/templates/default/preferences.html:116
326
 #: searx/templates/default/preferences.html:116
311
-#: searx/templates/oscar/preferences.html:187
327
+#: searx/templates/oscar/preferences.html:242
312
 msgid "Reset defaults"
328
 msgid "Reset defaults"
313
 msgstr ""
329
 msgstr ""
314
 
330
 
315
 #: searx/templates/courgette/preferences.html:129
331
 #: searx/templates/courgette/preferences.html:129
316
 #: searx/templates/default/preferences.html:117
332
 #: searx/templates/default/preferences.html:117
317
-#: searx/templates/oscar/preferences.html:186
333
+#: searx/templates/oscar/preferences.html:241
318
 #: searx/templates/pix-art/preferences.html:79
334
 #: searx/templates/pix-art/preferences.html:79
319
 msgid "back"
335
 msgid "back"
320
 msgstr "назад"
336
 msgstr "назад"
424
 msgstr "Переключить навигацию"
440
 msgstr "Переключить навигацию"
425
 
441
 
426
 #: searx/templates/oscar/preferences.html:17
442
 #: searx/templates/oscar/preferences.html:17
427
-#: searx/templates/oscar/preferences.html:24
443
+#: searx/templates/oscar/preferences.html:25
428
 msgid "General"
444
 msgid "General"
429
 msgstr "Общие"
445
 msgstr "Общие"
430
 
446
 
431
 #: searx/templates/oscar/preferences.html:18
447
 #: searx/templates/oscar/preferences.html:18
432
-#: searx/templates/oscar/preferences.html:125
448
+#: searx/templates/oscar/preferences.html:126
433
 msgid "Engines"
449
 msgid "Engines"
434
 msgstr "Движки"
450
 msgstr "Движки"
435
 
451
 
436
 #: searx/templates/oscar/preferences.html:19
452
 #: searx/templates/oscar/preferences.html:19
437
-#: searx/templates/oscar/preferences.html:159
453
+#: searx/templates/oscar/preferences.html:187
438
 msgid "Plugins"
454
 msgid "Plugins"
439
 msgstr ""
455
 msgstr ""
440
 
456
 
441
-#: searx/templates/oscar/preferences.html:44
457
+#: searx/templates/oscar/preferences.html:20
458
+#: searx/templates/oscar/preferences.html:210
459
+msgid "Cookies"
460
+msgstr ""
461
+
462
+#: searx/templates/oscar/preferences.html:45
442
 msgid "What language do you prefer for search?"
463
 msgid "What language do you prefer for search?"
443
 msgstr "На каком языке вы предпочитаете искать?"
464
 msgstr "На каком языке вы предпочитаете искать?"
444
 
465
 
445
-#: searx/templates/oscar/preferences.html:55
466
+#: searx/templates/oscar/preferences.html:56
446
 msgid "Change the language of the layout"
467
 msgid "Change the language of the layout"
447
 msgstr "Изменить язык сайта"
468
 msgstr "Изменить язык сайта"
448
 
469
 
449
-#: searx/templates/oscar/preferences.html:65
470
+#: searx/templates/oscar/preferences.html:66
450
 msgid "Find stuff as you type"
471
 msgid "Find stuff as you type"
451
 msgstr "Поисковые предложения при наборе"
472
 msgstr "Поисковые предложения при наборе"
452
 
473
 
453
-#: searx/templates/oscar/preferences.html:76
474
+#: searx/templates/oscar/preferences.html:77
454
 msgid "Proxying image results through searx"
475
 msgid "Proxying image results through searx"
455
 msgstr "Проксировать найденные изображения с помощью searx"
476
 msgstr "Проксировать найденные изображения с помощью searx"
456
 
477
 
457
-#: searx/templates/oscar/preferences.html:85
478
+#: searx/templates/oscar/preferences.html:86
458
 msgid ""
479
 msgid ""
459
 "Change how forms are submited, <a "
480
 "Change how forms are submited, <a "
460
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
481
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
461
 " rel=\"external\">learn more about request methods</a>"
482
 " rel=\"external\">learn more about request methods</a>"
462
 msgstr "Изменяет способ отправки запросов (<a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">подробней о методах запросов</a>)"
483
 msgstr "Изменяет способ отправки запросов (<a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">подробней о методах запросов</a>)"
463
 
484
 
464
-#: searx/templates/oscar/preferences.html:94
485
+#: searx/templates/oscar/preferences.html:95
465
 msgid "Filter content"
486
 msgid "Filter content"
466
 msgstr "Использовать ли фильтр контента"
487
 msgstr "Использовать ли фильтр контента"
467
 
488
 
468
-#: searx/templates/oscar/preferences.html:104
489
+#: searx/templates/oscar/preferences.html:105
469
 msgid "Change searx layout"
490
 msgid "Change searx layout"
470
 msgstr "Изменить тему сайта"
491
 msgstr "Изменить тему сайта"
471
 
492
 
493
+#: searx/templates/oscar/preferences.html:143
494
+#: searx/templates/oscar/preferences.html:151
495
+msgid "Shortcut"
496
+msgstr ""
497
+
498
+#: searx/templates/oscar/preferences.html:145
499
+#: searx/templates/oscar/preferences.html:149
500
+msgid "Avg. time"
501
+msgstr ""
502
+
503
+#: searx/templates/oscar/preferences.html:146
504
+#: searx/templates/oscar/preferences.html:148
505
+msgid "Max time"
506
+msgstr ""
507
+
508
+#: searx/templates/oscar/preferences.html:213
509
+msgid ""
510
+"This is the list of cookies and their values searx is storing on your "
511
+"computer."
512
+msgstr ""
513
+
514
+#: searx/templates/oscar/preferences.html:214
515
+msgid "With that list, you can assess searx transparency."
516
+msgstr ""
517
+
518
+#: searx/templates/oscar/preferences.html:219
519
+msgid "Cookie name"
520
+msgstr ""
521
+
522
+#: searx/templates/oscar/preferences.html:220
523
+msgid "Value"
524
+msgstr ""
525
+
472
 #: searx/templates/oscar/results.html:7
526
 #: searx/templates/oscar/results.html:7
473
 msgid "Search results"
527
 msgid "Search results"
474
 msgstr "Результаты поиска"
528
 msgstr "Результаты поиска"
518
 msgid "Please enable JavaScript to use full functionality of this site."
572
 msgid "Please enable JavaScript to use full functionality of this site."
519
 msgstr "Пожалуйста включите JavaScript, чтобы использовать все функции сайта."
573
 msgstr "Пожалуйста включите JavaScript, чтобы использовать все функции сайта."
520
 
574
 
575
+#: searx/templates/oscar/messages/no_cookies.html:3
576
+msgid "Information!"
577
+msgstr ""
578
+
579
+#: searx/templates/oscar/messages/no_cookies.html:4
580
+msgid "currently, there are no cookies defined."
581
+msgstr ""
582
+
521
 #: searx/templates/oscar/messages/no_data_available.html:4
583
 #: searx/templates/oscar/messages/no_data_available.html:4
522
 msgid "There is currently no data available. "
584
 msgid "There is currently no data available. "
523
 msgstr "На данный момент данные недоступны."
585
 msgstr "На данный момент данные недоступны."

BIN
searx/translations/tr/LC_MESSAGES/messages.mo 파일 보기


+ 116
- 54
searx/translations/tr/LC_MESSAGES/messages.po 파일 보기

9
 msgstr ""
9
 msgstr ""
10
 "Project-Id-Version: searx\n"
10
 "Project-Id-Version: searx\n"
11
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
11
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
12
-"POT-Creation-Date: 2015-04-26 18:57+0200\n"
13
-"PO-Revision-Date: 2015-04-28 17:33+0000\n"
14
-"Last-Translator: Caner Başaran <basaran.caner@gmail.com>\n"
15
-"Language-Team: Turkish (http://www.transifex.com/projects/p/searx/language/tr/)\n"
12
+"POT-Creation-Date: 2015-08-24 11:44+0200\n"
13
+"PO-Revision-Date: 2015-08-24 09:45+0000\n"
14
+"Last-Translator: pointhi\n"
15
+"Language-Team: Turkish (http://www.transifex.com/asciimoo/searx/language/tr/)\n"
16
 "MIME-Version: 1.0\n"
16
 "MIME-Version: 1.0\n"
17
 "Content-Type: text/plain; charset=UTF-8\n"
17
 "Content-Type: text/plain; charset=UTF-8\n"
18
 "Content-Transfer-Encoding: 8bit\n"
18
 "Content-Transfer-Encoding: 8bit\n"
20
 "Language: tr\n"
20
 "Language: tr\n"
21
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
21
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
22
 
22
 
23
-#: searx/webapp.py:104
23
+#: searx/webapp.py:114
24
 msgid "files"
24
 msgid "files"
25
 msgstr "dosyalar"
25
 msgstr "dosyalar"
26
 
26
 
27
-#: searx/webapp.py:105
27
+#: searx/webapp.py:115
28
 msgid "general"
28
 msgid "general"
29
 msgstr "genel"
29
 msgstr "genel"
30
 
30
 
31
-#: searx/webapp.py:106
31
+#: searx/webapp.py:116
32
 msgid "music"
32
 msgid "music"
33
 msgstr "müzik"
33
 msgstr "müzik"
34
 
34
 
35
-#: searx/webapp.py:107
35
+#: searx/webapp.py:117
36
 msgid "social media"
36
 msgid "social media"
37
 msgstr "sosyal medya"
37
 msgstr "sosyal medya"
38
 
38
 
39
-#: searx/webapp.py:108
39
+#: searx/webapp.py:118
40
 msgid "images"
40
 msgid "images"
41
 msgstr "görseller"
41
 msgstr "görseller"
42
 
42
 
43
-#: searx/webapp.py:109
43
+#: searx/webapp.py:119
44
 msgid "videos"
44
 msgid "videos"
45
 msgstr "videolar"
45
 msgstr "videolar"
46
 
46
 
47
-#: searx/webapp.py:110
47
+#: searx/webapp.py:120
48
 msgid "it"
48
 msgid "it"
49
 msgstr "bilişim"
49
 msgstr "bilişim"
50
 
50
 
51
-#: searx/webapp.py:111
51
+#: searx/webapp.py:121
52
 msgid "news"
52
 msgid "news"
53
 msgstr "haberler"
53
 msgstr "haberler"
54
 
54
 
55
-#: searx/webapp.py:112
55
+#: searx/webapp.py:122
56
 msgid "map"
56
 msgid "map"
57
 msgstr "harita"
57
 msgstr "harita"
58
 
58
 
59
-#: searx/webapp.py:396
59
+#: searx/webapp.py:414
60
 msgid "{minutes} minute(s) ago"
60
 msgid "{minutes} minute(s) ago"
61
 msgstr "{minutes} dakika() önce"
61
 msgstr "{minutes} dakika() önce"
62
 
62
 
63
-#: searx/webapp.py:398
63
+#: searx/webapp.py:416
64
 msgid "{hours} hour(s), {minutes} minute(s) ago"
64
 msgid "{hours} hour(s), {minutes} minute(s) ago"
65
 msgstr "{hours} saat(), {minutes} dakika() önce"
65
 msgstr "{hours} saat(), {minutes} dakika() önce"
66
 
66
 
67
-#: searx/engines/__init__.py:182
67
+#: searx/engines/__init__.py:185
68
 msgid "Page loads (sec)"
68
 msgid "Page loads (sec)"
69
 msgstr "Yüklenen sayfa (sn)"
69
 msgstr "Yüklenen sayfa (sn)"
70
 
70
 
71
-#: searx/engines/__init__.py:186
71
+#: searx/engines/__init__.py:189
72
 msgid "Number of results"
72
 msgid "Number of results"
73
 msgstr "Sonuç sayısı"
73
 msgstr "Sonuç sayısı"
74
 
74
 
75
-#: searx/engines/__init__.py:190
75
+#: searx/engines/__init__.py:193
76
 msgid "Scores"
76
 msgid "Scores"
77
 msgstr ""
77
 msgstr ""
78
 
78
 
79
-#: searx/engines/__init__.py:194
79
+#: searx/engines/__init__.py:197
80
 msgid "Scores per result"
80
 msgid "Scores per result"
81
 msgstr ""
81
 msgstr ""
82
 
82
 
83
-#: searx/engines/__init__.py:198
83
+#: searx/engines/__init__.py:201
84
 msgid "Errors"
84
 msgid "Errors"
85
 msgstr "Hatalar"
85
 msgstr "Hatalar"
86
 
86
 
95
 #: searx/plugins/search_on_category_select.py:19
95
 #: searx/plugins/search_on_category_select.py:19
96
 msgid ""
96
 msgid ""
97
 "Perform search immediately if a category selected. Disable to select "
97
 "Perform search immediately if a category selected. Disable to select "
98
-"multiple categories."
98
+"multiple categories. (JavaScript required)"
99
 msgstr ""
99
 msgstr ""
100
 
100
 
101
-#: searx/plugins/self_ip.py:19
102
-msgid "Display your source IP address if the query expression is \"ip\""
101
+#: searx/plugins/self_info.py:20
102
+msgid ""
103
+"Displays your IP if the query is \"ip\" and your user agent if the query "
104
+"contains \"user agent\"."
105
+msgstr ""
106
+
107
+#: searx/plugins/tracker_url_remover.py:26
108
+msgid "Tracker URL remover"
109
+msgstr ""
110
+
111
+#: searx/plugins/tracker_url_remover.py:27
112
+msgid "Remove trackers arguments from the returned URL"
103
 msgstr ""
113
 msgstr ""
104
 
114
 
105
 #: searx/templates/courgette/index.html:9
115
 #: searx/templates/courgette/index.html:9
128
 
138
 
129
 #: searx/templates/courgette/preferences.html:9
139
 #: searx/templates/courgette/preferences.html:9
130
 #: searx/templates/default/preferences.html:9
140
 #: searx/templates/default/preferences.html:9
131
-#: searx/templates/oscar/preferences.html:35
132
-#: searx/templates/oscar/preferences.html:37
141
+#: searx/templates/oscar/preferences.html:36
142
+#: searx/templates/oscar/preferences.html:38
133
 msgid "Default categories"
143
 msgid "Default categories"
134
 msgstr "Öntanımlı kategoriler"
144
 msgstr "Öntanımlı kategoriler"
135
 
145
 
136
 #: searx/templates/courgette/preferences.html:13
146
 #: searx/templates/courgette/preferences.html:13
137
 #: searx/templates/default/preferences.html:14
147
 #: searx/templates/default/preferences.html:14
138
-#: searx/templates/oscar/preferences.html:43
148
+#: searx/templates/oscar/preferences.html:44
139
 #: searx/templates/pix-art/preferences.html:9
149
 #: searx/templates/pix-art/preferences.html:9
140
 msgid "Search language"
150
 msgid "Search language"
141
 msgstr "Arama dili"
151
 msgstr "Arama dili"
142
 
152
 
143
 #: searx/templates/courgette/preferences.html:16
153
 #: searx/templates/courgette/preferences.html:16
144
 #: searx/templates/default/preferences.html:17
154
 #: searx/templates/default/preferences.html:17
145
-#: searx/templates/oscar/preferences.html:47
155
+#: searx/templates/oscar/preferences.html:48
146
 #: searx/templates/pix-art/preferences.html:12
156
 #: searx/templates/pix-art/preferences.html:12
147
 msgid "Automatic"
157
 msgid "Automatic"
148
 msgstr "Otomatik"
158
 msgstr "Otomatik"
149
 
159
 
150
 #: searx/templates/courgette/preferences.html:24
160
 #: searx/templates/courgette/preferences.html:24
151
 #: searx/templates/default/preferences.html:25
161
 #: searx/templates/default/preferences.html:25
152
-#: searx/templates/oscar/preferences.html:54
162
+#: searx/templates/oscar/preferences.html:55
153
 #: searx/templates/pix-art/preferences.html:20
163
 #: searx/templates/pix-art/preferences.html:20
154
 msgid "Interface language"
164
 msgid "Interface language"
155
 msgstr "Arayüz dili"
165
 msgstr "Arayüz dili"
156
 
166
 
157
 #: searx/templates/courgette/preferences.html:34
167
 #: searx/templates/courgette/preferences.html:34
158
 #: searx/templates/default/preferences.html:35
168
 #: searx/templates/default/preferences.html:35
159
-#: searx/templates/oscar/preferences.html:64
169
+#: searx/templates/oscar/preferences.html:65
160
 msgid "Autocomplete"
170
 msgid "Autocomplete"
161
 msgstr "Otomatik tamamlama"
171
 msgstr "Otomatik tamamlama"
162
 
172
 
163
 #: searx/templates/courgette/preferences.html:45
173
 #: searx/templates/courgette/preferences.html:45
164
 #: searx/templates/default/preferences.html:46
174
 #: searx/templates/default/preferences.html:46
165
-#: searx/templates/oscar/preferences.html:75
175
+#: searx/templates/oscar/preferences.html:76
166
 msgid "Image proxy"
176
 msgid "Image proxy"
167
 msgstr "Görsel vekil sunucu"
177
 msgstr "Görsel vekil sunucu"
168
 
178
 
169
 #: searx/templates/courgette/preferences.html:48
179
 #: searx/templates/courgette/preferences.html:48
170
 #: searx/templates/default/preferences.html:49
180
 #: searx/templates/default/preferences.html:49
171
-#: searx/templates/oscar/preferences.html:79
181
+#: searx/templates/oscar/preferences.html:80
172
 msgid "Enabled"
182
 msgid "Enabled"
173
 msgstr "Etkin"
183
 msgstr "Etkin"
174
 
184
 
175
 #: searx/templates/courgette/preferences.html:49
185
 #: searx/templates/courgette/preferences.html:49
176
 #: searx/templates/default/preferences.html:50
186
 #: searx/templates/default/preferences.html:50
177
-#: searx/templates/oscar/preferences.html:80
187
+#: searx/templates/oscar/preferences.html:81
178
 msgid "Disabled"
188
 msgid "Disabled"
179
 msgstr "Devre dışı"
189
 msgstr "Devre dışı"
180
 
190
 
181
 #: searx/templates/courgette/preferences.html:54
191
 #: searx/templates/courgette/preferences.html:54
182
 #: searx/templates/default/preferences.html:55
192
 #: searx/templates/default/preferences.html:55
183
-#: searx/templates/oscar/preferences.html:84
193
+#: searx/templates/oscar/preferences.html:85
184
 #: searx/templates/pix-art/preferences.html:30
194
 #: searx/templates/pix-art/preferences.html:30
185
 msgid "Method"
195
 msgid "Method"
186
 msgstr "Sorgu gönderim yöntemi"
196
 msgstr "Sorgu gönderim yöntemi"
187
 
197
 
188
 #: searx/templates/courgette/preferences.html:63
198
 #: searx/templates/courgette/preferences.html:63
189
 #: searx/templates/default/preferences.html:64
199
 #: searx/templates/default/preferences.html:64
190
-#: searx/templates/oscar/preferences.html:93
200
+#: searx/templates/oscar/preferences.html:94
201
+#: searx/templates/oscar/preferences.html:144
202
+#: searx/templates/oscar/preferences.html:150
191
 msgid "SafeSearch"
203
 msgid "SafeSearch"
192
 msgstr "Güvenli Arama"
204
 msgstr "Güvenli Arama"
193
 
205
 
194
 #: searx/templates/courgette/preferences.html:66
206
 #: searx/templates/courgette/preferences.html:66
195
 #: searx/templates/default/preferences.html:67
207
 #: searx/templates/default/preferences.html:67
196
-#: searx/templates/oscar/preferences.html:97
208
+#: searx/templates/oscar/preferences.html:98
197
 msgid "Strict"
209
 msgid "Strict"
198
 msgstr "Sıkı"
210
 msgstr "Sıkı"
199
 
211
 
200
 #: searx/templates/courgette/preferences.html:67
212
 #: searx/templates/courgette/preferences.html:67
201
 #: searx/templates/default/preferences.html:68
213
 #: searx/templates/default/preferences.html:68
202
-#: searx/templates/oscar/preferences.html:98
214
+#: searx/templates/oscar/preferences.html:99
203
 msgid "Moderate"
215
 msgid "Moderate"
204
 msgstr "Orta"
216
 msgstr "Orta"
205
 
217
 
206
 #: searx/templates/courgette/preferences.html:68
218
 #: searx/templates/courgette/preferences.html:68
207
 #: searx/templates/default/preferences.html:69
219
 #: searx/templates/default/preferences.html:69
208
-#: searx/templates/oscar/preferences.html:99
220
+#: searx/templates/oscar/preferences.html:100
209
 msgid "None"
221
 msgid "None"
210
 msgstr "Yok"
222
 msgstr "Yok"
211
 
223
 
212
 #: searx/templates/courgette/preferences.html:73
224
 #: searx/templates/courgette/preferences.html:73
213
 #: searx/templates/default/preferences.html:74
225
 #: searx/templates/default/preferences.html:74
214
-#: searx/templates/oscar/preferences.html:103
226
+#: searx/templates/oscar/preferences.html:104
215
 #: searx/templates/pix-art/preferences.html:39
227
 #: searx/templates/pix-art/preferences.html:39
216
 msgid "Themes"
228
 msgid "Themes"
217
 msgstr "Temalar"
229
 msgstr "Temalar"
252
 
264
 
253
 #: searx/templates/courgette/preferences.html:100
265
 #: searx/templates/courgette/preferences.html:100
254
 #: searx/templates/default/preferences.html:88
266
 #: searx/templates/default/preferences.html:88
267
+#: searx/templates/oscar/preferences.html:142
268
+#: searx/templates/oscar/preferences.html:152
255
 #: searx/templates/pix-art/preferences.html:53
269
 #: searx/templates/pix-art/preferences.html:53
256
 msgid "Engine name"
270
 msgid "Engine name"
257
 msgstr "Motor adı"
271
 msgstr "Motor adı"
266
 #: searx/templates/default/preferences.html:90
280
 #: searx/templates/default/preferences.html:90
267
 #: searx/templates/default/preferences.html:101
281
 #: searx/templates/default/preferences.html:101
268
 #: searx/templates/oscar/macros.html:67
282
 #: searx/templates/oscar/macros.html:67
283
+#: searx/templates/oscar/preferences.html:141
284
+#: searx/templates/oscar/preferences.html:153
269
 #: searx/templates/pix-art/preferences.html:54
285
 #: searx/templates/pix-art/preferences.html:54
270
 #: searx/templates/pix-art/preferences.html:64
286
 #: searx/templates/pix-art/preferences.html:64
271
 msgid "Allow"
287
 msgid "Allow"
283
 
299
 
284
 #: searx/templates/courgette/preferences.html:122
300
 #: searx/templates/courgette/preferences.html:122
285
 #: searx/templates/default/preferences.html:110
301
 #: searx/templates/default/preferences.html:110
286
-#: searx/templates/oscar/preferences.html:180
302
+#: searx/templates/oscar/preferences.html:235
287
 #: searx/templates/pix-art/preferences.html:73
303
 #: searx/templates/pix-art/preferences.html:73
288
 msgid ""
304
 msgid ""
289
 "These settings are stored in your cookies, this allows us not to store this "
305
 "These settings are stored in your cookies, this allows us not to store this "
292
 
308
 
293
 #: searx/templates/courgette/preferences.html:124
309
 #: searx/templates/courgette/preferences.html:124
294
 #: searx/templates/default/preferences.html:112
310
 #: searx/templates/default/preferences.html:112
295
-#: searx/templates/oscar/preferences.html:182
311
+#: searx/templates/oscar/preferences.html:237
296
 #: searx/templates/pix-art/preferences.html:75
312
 #: searx/templates/pix-art/preferences.html:75
297
 msgid ""
313
 msgid ""
298
 "These cookies serve your sole convenience, we don't use these cookies to "
314
 "These cookies serve your sole convenience, we don't use these cookies to "
301
 
317
 
302
 #: searx/templates/courgette/preferences.html:127
318
 #: searx/templates/courgette/preferences.html:127
303
 #: searx/templates/default/preferences.html:115
319
 #: searx/templates/default/preferences.html:115
304
-#: searx/templates/oscar/preferences.html:185
320
+#: searx/templates/oscar/preferences.html:240
305
 #: searx/templates/pix-art/preferences.html:78
321
 #: searx/templates/pix-art/preferences.html:78
306
 msgid "save"
322
 msgid "save"
307
 msgstr "kaydet"
323
 msgstr "kaydet"
308
 
324
 
309
 #: searx/templates/courgette/preferences.html:128
325
 #: searx/templates/courgette/preferences.html:128
310
 #: searx/templates/default/preferences.html:116
326
 #: searx/templates/default/preferences.html:116
311
-#: searx/templates/oscar/preferences.html:187
327
+#: searx/templates/oscar/preferences.html:242
312
 msgid "Reset defaults"
328
 msgid "Reset defaults"
313
-msgstr ""
329
+msgstr "Varsayılanları sıfırla"
314
 
330
 
315
 #: searx/templates/courgette/preferences.html:129
331
 #: searx/templates/courgette/preferences.html:129
316
 #: searx/templates/default/preferences.html:117
332
 #: searx/templates/default/preferences.html:117
317
-#: searx/templates/oscar/preferences.html:186
333
+#: searx/templates/oscar/preferences.html:241
318
 #: searx/templates/pix-art/preferences.html:79
334
 #: searx/templates/pix-art/preferences.html:79
319
 msgid "back"
335
 msgid "back"
320
 msgstr "geri"
336
 msgstr "geri"
424
 msgstr ""
440
 msgstr ""
425
 
441
 
426
 #: searx/templates/oscar/preferences.html:17
442
 #: searx/templates/oscar/preferences.html:17
427
-#: searx/templates/oscar/preferences.html:24
443
+#: searx/templates/oscar/preferences.html:25
428
 msgid "General"
444
 msgid "General"
429
 msgstr "Genel"
445
 msgstr "Genel"
430
 
446
 
431
 #: searx/templates/oscar/preferences.html:18
447
 #: searx/templates/oscar/preferences.html:18
432
-#: searx/templates/oscar/preferences.html:125
448
+#: searx/templates/oscar/preferences.html:126
433
 msgid "Engines"
449
 msgid "Engines"
434
 msgstr "Motorlar"
450
 msgstr "Motorlar"
435
 
451
 
436
 #: searx/templates/oscar/preferences.html:19
452
 #: searx/templates/oscar/preferences.html:19
437
-#: searx/templates/oscar/preferences.html:159
453
+#: searx/templates/oscar/preferences.html:187
438
 msgid "Plugins"
454
 msgid "Plugins"
439
 msgstr "Eklentiler"
455
 msgstr "Eklentiler"
440
 
456
 
441
-#: searx/templates/oscar/preferences.html:44
457
+#: searx/templates/oscar/preferences.html:20
458
+#: searx/templates/oscar/preferences.html:210
459
+msgid "Cookies"
460
+msgstr ""
461
+
462
+#: searx/templates/oscar/preferences.html:45
442
 msgid "What language do you prefer for search?"
463
 msgid "What language do you prefer for search?"
443
 msgstr "Tercih ettiğiniz arama sonuçları dili"
464
 msgstr "Tercih ettiğiniz arama sonuçları dili"
444
 
465
 
445
-#: searx/templates/oscar/preferences.html:55
466
+#: searx/templates/oscar/preferences.html:56
446
 msgid "Change the language of the layout"
467
 msgid "Change the language of the layout"
447
 msgstr "Site dilini değiştir"
468
 msgstr "Site dilini değiştir"
448
 
469
 
449
-#: searx/templates/oscar/preferences.html:65
470
+#: searx/templates/oscar/preferences.html:66
450
 msgid "Find stuff as you type"
471
 msgid "Find stuff as you type"
451
 msgstr "Leb demeden leblebiyi anlasın"
472
 msgstr "Leb demeden leblebiyi anlasın"
452
 
473
 
453
-#: searx/templates/oscar/preferences.html:76
474
+#: searx/templates/oscar/preferences.html:77
454
 msgid "Proxying image results through searx"
475
 msgid "Proxying image results through searx"
455
 msgstr "Görsel arama sonuçlarını, searx vekil sunucusu üzerinden geçir"
476
 msgstr "Görsel arama sonuçlarını, searx vekil sunucusu üzerinden geçir"
456
 
477
 
457
-#: searx/templates/oscar/preferences.html:85
478
+#: searx/templates/oscar/preferences.html:86
458
 msgid ""
479
 msgid ""
459
 "Change how forms are submited, <a "
480
 "Change how forms are submited, <a "
460
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
481
 "href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
461
 " rel=\"external\">learn more about request methods</a>"
482
 " rel=\"external\">learn more about request methods</a>"
462
 msgstr "Aramaların nasıl gönderildiğini değiştir, <a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">istek yöntemleri hakkında daha fazla bilgi</a>"
483
 msgstr "Aramaların nasıl gönderildiğini değiştir, <a href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">istek yöntemleri hakkında daha fazla bilgi</a>"
463
 
484
 
464
-#: searx/templates/oscar/preferences.html:94
485
+#: searx/templates/oscar/preferences.html:95
465
 msgid "Filter content"
486
 msgid "Filter content"
466
 msgstr "İçeriyi süz"
487
 msgstr "İçeriyi süz"
467
 
488
 
468
-#: searx/templates/oscar/preferences.html:104
489
+#: searx/templates/oscar/preferences.html:105
469
 msgid "Change searx layout"
490
 msgid "Change searx layout"
470
 msgstr "searx yerleşim düzenini değiştir"
491
 msgstr "searx yerleşim düzenini değiştir"
471
 
492
 
493
+#: searx/templates/oscar/preferences.html:143
494
+#: searx/templates/oscar/preferences.html:151
495
+msgid "Shortcut"
496
+msgstr ""
497
+
498
+#: searx/templates/oscar/preferences.html:145
499
+#: searx/templates/oscar/preferences.html:149
500
+msgid "Avg. time"
501
+msgstr ""
502
+
503
+#: searx/templates/oscar/preferences.html:146
504
+#: searx/templates/oscar/preferences.html:148
505
+msgid "Max time"
506
+msgstr ""
507
+
508
+#: searx/templates/oscar/preferences.html:213
509
+msgid ""
510
+"This is the list of cookies and their values searx is storing on your "
511
+"computer."
512
+msgstr ""
513
+
514
+#: searx/templates/oscar/preferences.html:214
515
+msgid "With that list, you can assess searx transparency."
516
+msgstr ""
517
+
518
+#: searx/templates/oscar/preferences.html:219
519
+msgid "Cookie name"
520
+msgstr ""
521
+
522
+#: searx/templates/oscar/preferences.html:220
523
+msgid "Value"
524
+msgstr ""
525
+
472
 #: searx/templates/oscar/results.html:7
526
 #: searx/templates/oscar/results.html:7
473
 msgid "Search results"
527
 msgid "Search results"
474
 msgstr "Arama sonuçları"
528
 msgstr "Arama sonuçları"
518
 msgid "Please enable JavaScript to use full functionality of this site."
572
 msgid "Please enable JavaScript to use full functionality of this site."
519
 msgstr "Lütfen, bu sitenin tüm işlevlerini kullanmak için JavaScript'i etkinleştirin."
573
 msgstr "Lütfen, bu sitenin tüm işlevlerini kullanmak için JavaScript'i etkinleştirin."
520
 
574
 
575
+#: searx/templates/oscar/messages/no_cookies.html:3
576
+msgid "Information!"
577
+msgstr ""
578
+
579
+#: searx/templates/oscar/messages/no_cookies.html:4
580
+msgid "currently, there are no cookies defined."
581
+msgstr ""
582
+
521
 #: searx/templates/oscar/messages/no_data_available.html:4
583
 #: searx/templates/oscar/messages/no_data_available.html:4
522
 msgid "There is currently no data available. "
584
 msgid "There is currently no data available. "
523
 msgstr "Şuan uygun veri yok."
585
 msgstr "Şuan uygun veri yok."

BIN
searx/translations/zh_CN/LC_MESSAGES/messages.mo 파일 보기


+ 682
- 0
searx/translations/zh_CN/LC_MESSAGES/messages.po 파일 보기

1
+# Translations template for PROJECT.
2
+# Copyright (C) 2015 ORGANIZATION
3
+# This file is distributed under the same license as the PROJECT project.
4
+# 
5
+# Translators:
6
+# 文科, 2015
7
+msgid ""
8
+msgstr ""
9
+"Project-Id-Version: searx\n"
10
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
11
+"POT-Creation-Date: 2015-08-24 11:44+0200\n"
12
+"PO-Revision-Date: 2015-08-29 07:35+0000\n"
13
+"Last-Translator: 文科\n"
14
+"Language-Team: Chinese (China) (http://www.transifex.com/asciimoo/searx/language/zh_CN/)\n"
15
+"MIME-Version: 1.0\n"
16
+"Content-Type: text/plain; charset=UTF-8\n"
17
+"Content-Transfer-Encoding: 8bit\n"
18
+"Generated-By: Babel 1.3\n"
19
+"Language: zh_CN\n"
20
+"Plural-Forms: nplurals=1; plural=0;\n"
21
+
22
+#: searx/webapp.py:114
23
+msgid "files"
24
+msgstr "文件"
25
+
26
+#: searx/webapp.py:115
27
+msgid "general"
28
+msgstr "一般"
29
+
30
+#: searx/webapp.py:116
31
+msgid "music"
32
+msgstr "音乐"
33
+
34
+#: searx/webapp.py:117
35
+msgid "social media"
36
+msgstr "社交媒体"
37
+
38
+#: searx/webapp.py:118
39
+msgid "images"
40
+msgstr "图片"
41
+
42
+#: searx/webapp.py:119
43
+msgid "videos"
44
+msgstr "视频"
45
+
46
+#: searx/webapp.py:120
47
+msgid "it"
48
+msgstr "it"
49
+
50
+#: searx/webapp.py:121
51
+msgid "news"
52
+msgstr "新闻"
53
+
54
+#: searx/webapp.py:122
55
+msgid "map"
56
+msgstr "地图"
57
+
58
+#: searx/webapp.py:414
59
+msgid "{minutes} minute(s) ago"
60
+msgstr "{minutes}分钟之前"
61
+
62
+#: searx/webapp.py:416
63
+msgid "{hours} hour(s), {minutes} minute(s) ago"
64
+msgstr "{hours}小时{minutes}分钟之前"
65
+
66
+#: searx/engines/__init__.py:185
67
+msgid "Page loads (sec)"
68
+msgstr "页面加载 (秒)"
69
+
70
+#: searx/engines/__init__.py:189
71
+msgid "Number of results"
72
+msgstr "结果数"
73
+
74
+#: searx/engines/__init__.py:193
75
+msgid "Scores"
76
+msgstr "得分"
77
+
78
+#: searx/engines/__init__.py:197
79
+msgid "Scores per result"
80
+msgstr "每个结果等分"
81
+
82
+#: searx/engines/__init__.py:201
83
+msgid "Errors"
84
+msgstr "错误"
85
+
86
+#: searx/plugins/https_rewrite.py:29
87
+msgid "Rewrite HTTP links to HTTPS if possible"
88
+msgstr "如果可能的话重定向HTTP链接到HTTPS"
89
+
90
+#: searx/plugins/search_on_category_select.py:18
91
+msgid "Search on category select"
92
+msgstr "搜索类别选择"
93
+
94
+#: searx/plugins/search_on_category_select.py:19
95
+msgid ""
96
+"Perform search immediately if a category selected. Disable to select "
97
+"multiple categories. (JavaScript required)"
98
+msgstr "如果选中一个类别立即搜索。禁用选择多个类别功能。(JavaScript 启用)"
99
+
100
+#: searx/plugins/self_info.py:20
101
+msgid ""
102
+"Displays your IP if the query is \"ip\" and your user agent if the query "
103
+"contains \"user agent\"."
104
+msgstr "搜索“ip”显示你的ip和搜索内容包括“user agent”显示你的user agent。"
105
+
106
+#: searx/plugins/tracker_url_remover.py:26
107
+msgid "Tracker URL remover"
108
+msgstr "移除跟踪链接"
109
+
110
+#: searx/plugins/tracker_url_remover.py:27
111
+msgid "Remove trackers arguments from the returned URL"
112
+msgstr "从返回的链接中移除跟踪参数"
113
+
114
+#: searx/templates/courgette/index.html:9
115
+#: searx/templates/courgette/index.html:13
116
+#: searx/templates/courgette/results.html:5
117
+#: searx/templates/default/index.html:8 searx/templates/default/index.html:12
118
+#: searx/templates/oscar/navbar.html:7 searx/templates/oscar/navbar.html:35
119
+#: searx/templates/oscar/preferences.html:3
120
+#: searx/templates/pix-art/index.html:8
121
+msgid "preferences"
122
+msgstr "首选项"
123
+
124
+#: searx/templates/courgette/index.html:11
125
+#: searx/templates/default/index.html:10 searx/templates/oscar/about.html:3
126
+#: searx/templates/oscar/navbar.html:8 searx/templates/oscar/navbar.html:34
127
+#: searx/templates/pix-art/index.html:7
128
+msgid "about"
129
+msgstr "关于"
130
+
131
+#: searx/templates/courgette/preferences.html:5
132
+#: searx/templates/default/preferences.html:5
133
+#: searx/templates/oscar/preferences.html:12
134
+#: searx/templates/pix-art/preferences.html:5
135
+msgid "Preferences"
136
+msgstr "首选项"
137
+
138
+#: searx/templates/courgette/preferences.html:9
139
+#: searx/templates/default/preferences.html:9
140
+#: searx/templates/oscar/preferences.html:36
141
+#: searx/templates/oscar/preferences.html:38
142
+msgid "Default categories"
143
+msgstr "默认类别"
144
+
145
+#: searx/templates/courgette/preferences.html:13
146
+#: searx/templates/default/preferences.html:14
147
+#: searx/templates/oscar/preferences.html:44
148
+#: searx/templates/pix-art/preferences.html:9
149
+msgid "Search language"
150
+msgstr "搜索语言"
151
+
152
+#: searx/templates/courgette/preferences.html:16
153
+#: searx/templates/default/preferences.html:17
154
+#: searx/templates/oscar/preferences.html:48
155
+#: searx/templates/pix-art/preferences.html:12
156
+msgid "Automatic"
157
+msgstr "自动"
158
+
159
+#: searx/templates/courgette/preferences.html:24
160
+#: searx/templates/default/preferences.html:25
161
+#: searx/templates/oscar/preferences.html:55
162
+#: searx/templates/pix-art/preferences.html:20
163
+msgid "Interface language"
164
+msgstr "界面语言"
165
+
166
+#: searx/templates/courgette/preferences.html:34
167
+#: searx/templates/default/preferences.html:35
168
+#: searx/templates/oscar/preferences.html:65
169
+msgid "Autocomplete"
170
+msgstr "自动完成"
171
+
172
+#: searx/templates/courgette/preferences.html:45
173
+#: searx/templates/default/preferences.html:46
174
+#: searx/templates/oscar/preferences.html:76
175
+msgid "Image proxy"
176
+msgstr "代理图片"
177
+
178
+#: searx/templates/courgette/preferences.html:48
179
+#: searx/templates/default/preferences.html:49
180
+#: searx/templates/oscar/preferences.html:80
181
+msgid "Enabled"
182
+msgstr "启用"
183
+
184
+#: searx/templates/courgette/preferences.html:49
185
+#: searx/templates/default/preferences.html:50
186
+#: searx/templates/oscar/preferences.html:81
187
+msgid "Disabled"
188
+msgstr "禁用"
189
+
190
+#: searx/templates/courgette/preferences.html:54
191
+#: searx/templates/default/preferences.html:55
192
+#: searx/templates/oscar/preferences.html:85
193
+#: searx/templates/pix-art/preferences.html:30
194
+msgid "Method"
195
+msgstr "方法"
196
+
197
+#: searx/templates/courgette/preferences.html:63
198
+#: searx/templates/default/preferences.html:64
199
+#: searx/templates/oscar/preferences.html:94
200
+#: searx/templates/oscar/preferences.html:144
201
+#: searx/templates/oscar/preferences.html:150
202
+msgid "SafeSearch"
203
+msgstr "安全搜索"
204
+
205
+#: searx/templates/courgette/preferences.html:66
206
+#: searx/templates/default/preferences.html:67
207
+#: searx/templates/oscar/preferences.html:98
208
+msgid "Strict"
209
+msgstr "严格模式"
210
+
211
+#: searx/templates/courgette/preferences.html:67
212
+#: searx/templates/default/preferences.html:68
213
+#: searx/templates/oscar/preferences.html:99
214
+msgid "Moderate"
215
+msgstr "中等"
216
+
217
+#: searx/templates/courgette/preferences.html:68
218
+#: searx/templates/default/preferences.html:69
219
+#: searx/templates/oscar/preferences.html:100
220
+msgid "None"
221
+msgstr "不过滤"
222
+
223
+#: searx/templates/courgette/preferences.html:73
224
+#: searx/templates/default/preferences.html:74
225
+#: searx/templates/oscar/preferences.html:104
226
+#: searx/templates/pix-art/preferences.html:39
227
+msgid "Themes"
228
+msgstr "主题"
229
+
230
+#: searx/templates/courgette/preferences.html:83
231
+msgid "Color"
232
+msgstr "颜色"
233
+
234
+#: searx/templates/courgette/preferences.html:86
235
+msgid "Blue (default)"
236
+msgstr "蓝色(默认)"
237
+
238
+#: searx/templates/courgette/preferences.html:87
239
+msgid "Violet"
240
+msgstr "紫色"
241
+
242
+#: searx/templates/courgette/preferences.html:88
243
+msgid "Green"
244
+msgstr "绿色"
245
+
246
+#: searx/templates/courgette/preferences.html:89
247
+msgid "Cyan"
248
+msgstr "青色"
249
+
250
+#: searx/templates/courgette/preferences.html:90
251
+msgid "Orange"
252
+msgstr "橙色"
253
+
254
+#: searx/templates/courgette/preferences.html:91
255
+msgid "Red"
256
+msgstr "红色"
257
+
258
+#: searx/templates/courgette/preferences.html:96
259
+#: searx/templates/default/preferences.html:84
260
+#: searx/templates/pix-art/preferences.html:49
261
+msgid "Currently used search engines"
262
+msgstr "目前使用的搜索引擎"
263
+
264
+#: searx/templates/courgette/preferences.html:100
265
+#: searx/templates/default/preferences.html:88
266
+#: searx/templates/oscar/preferences.html:142
267
+#: searx/templates/oscar/preferences.html:152
268
+#: searx/templates/pix-art/preferences.html:53
269
+msgid "Engine name"
270
+msgstr "搜索引擎名字"
271
+
272
+#: searx/templates/courgette/preferences.html:101
273
+#: searx/templates/default/preferences.html:89
274
+msgid "Category"
275
+msgstr "类别"
276
+
277
+#: searx/templates/courgette/preferences.html:102
278
+#: searx/templates/courgette/preferences.html:113
279
+#: searx/templates/default/preferences.html:90
280
+#: searx/templates/default/preferences.html:101
281
+#: searx/templates/oscar/macros.html:67
282
+#: searx/templates/oscar/preferences.html:141
283
+#: searx/templates/oscar/preferences.html:153
284
+#: searx/templates/pix-art/preferences.html:54
285
+#: searx/templates/pix-art/preferences.html:64
286
+msgid "Allow"
287
+msgstr "允许"
288
+
289
+#: searx/templates/courgette/preferences.html:102
290
+#: searx/templates/courgette/preferences.html:114
291
+#: searx/templates/default/preferences.html:90
292
+#: searx/templates/default/preferences.html:102
293
+#: searx/templates/oscar/macros.html:66
294
+#: searx/templates/pix-art/preferences.html:54
295
+#: searx/templates/pix-art/preferences.html:65
296
+msgid "Block"
297
+msgstr "屏蔽"
298
+
299
+#: searx/templates/courgette/preferences.html:122
300
+#: searx/templates/default/preferences.html:110
301
+#: searx/templates/oscar/preferences.html:235
302
+#: searx/templates/pix-art/preferences.html:73
303
+msgid ""
304
+"These settings are stored in your cookies, this allows us not to store this "
305
+"data about you."
306
+msgstr "这些设置保存你的cookie,这代表我们不能储存你的数据。"
307
+
308
+#: searx/templates/courgette/preferences.html:124
309
+#: searx/templates/default/preferences.html:112
310
+#: searx/templates/oscar/preferences.html:237
311
+#: searx/templates/pix-art/preferences.html:75
312
+msgid ""
313
+"These cookies serve your sole convenience, we don't use these cookies to "
314
+"track you."
315
+msgstr "这些cookie是为了让你更加方便,我们不会使用这些cookie跟踪你。"
316
+
317
+#: searx/templates/courgette/preferences.html:127
318
+#: searx/templates/default/preferences.html:115
319
+#: searx/templates/oscar/preferences.html:240
320
+#: searx/templates/pix-art/preferences.html:78
321
+msgid "save"
322
+msgstr "保存"
323
+
324
+#: searx/templates/courgette/preferences.html:128
325
+#: searx/templates/default/preferences.html:116
326
+#: searx/templates/oscar/preferences.html:242
327
+msgid "Reset defaults"
328
+msgstr "恢复默认"
329
+
330
+#: searx/templates/courgette/preferences.html:129
331
+#: searx/templates/default/preferences.html:117
332
+#: searx/templates/oscar/preferences.html:241
333
+#: searx/templates/pix-art/preferences.html:79
334
+msgid "back"
335
+msgstr "后"
336
+
337
+#: searx/templates/courgette/results.html:12
338
+#: searx/templates/default/results.html:13
339
+#: searx/templates/oscar/results.html:110
340
+msgid "Search URL"
341
+msgstr "搜索链接"
342
+
343
+#: searx/templates/courgette/results.html:16
344
+#: searx/templates/default/results.html:17
345
+#: searx/templates/oscar/results.html:115
346
+msgid "Download results"
347
+msgstr "下载结果"
348
+
349
+#: searx/templates/courgette/results.html:34
350
+#: searx/templates/default/results.html:35
351
+msgid "Answers"
352
+msgstr "回答"
353
+
354
+#: searx/templates/courgette/results.html:42
355
+#: searx/templates/default/results.html:43
356
+#: searx/templates/oscar/results.html:90
357
+msgid "Suggestions"
358
+msgstr "搜索建议"
359
+
360
+#: searx/templates/courgette/results.html:70
361
+#: searx/templates/default/results.html:81
362
+#: searx/templates/oscar/results.html:51 searx/templates/oscar/results.html:63
363
+msgid "previous page"
364
+msgstr "上一页"
365
+
366
+#: searx/templates/courgette/results.html:81
367
+#: searx/templates/default/results.html:92
368
+#: searx/templates/oscar/results.html:44 searx/templates/oscar/results.html:71
369
+msgid "next page"
370
+msgstr "下一页"
371
+
372
+#: searx/templates/courgette/search.html:3
373
+#: searx/templates/default/search.html:3 searx/templates/oscar/search.html:4
374
+#: searx/templates/oscar/search_full.html:9
375
+#: searx/templates/pix-art/search.html:3
376
+msgid "Search for..."
377
+msgstr "搜索..."
378
+
379
+#: searx/templates/courgette/stats.html:4 searx/templates/default/stats.html:4
380
+#: searx/templates/oscar/stats.html:5 searx/templates/pix-art/stats.html:4
381
+msgid "Engine stats"
382
+msgstr "搜索引擎统计"
383
+
384
+#: searx/templates/courgette/result_templates/images.html:4
385
+#: searx/templates/default/result_templates/images.html:4
386
+#: searx/templates/pix-art/result_templates/images.html:4
387
+msgid "original context"
388
+msgstr "原始上下文"
389
+
390
+#: searx/templates/courgette/result_templates/torrent.html:7
391
+#: searx/templates/default/result_templates/torrent.html:11
392
+#: searx/templates/oscar/result_templates/torrent.html:6
393
+msgid "Seeder"
394
+msgstr ""
395
+
396
+#: searx/templates/courgette/result_templates/torrent.html:7
397
+#: searx/templates/default/result_templates/torrent.html:11
398
+#: searx/templates/oscar/result_templates/torrent.html:6
399
+msgid "Leecher"
400
+msgstr ""
401
+
402
+#: searx/templates/courgette/result_templates/torrent.html:9
403
+#: searx/templates/default/result_templates/torrent.html:9
404
+#: searx/templates/oscar/macros.html:21
405
+msgid "magnet link"
406
+msgstr "磁力链接"
407
+
408
+#: searx/templates/courgette/result_templates/torrent.html:10
409
+#: searx/templates/default/result_templates/torrent.html:10
410
+#: searx/templates/oscar/macros.html:22
411
+msgid "torrent file"
412
+msgstr "种子文件"
413
+
414
+#: searx/templates/default/categories.html:8
415
+msgid "Click on the magnifier to perform search"
416
+msgstr "点击放大镜执行搜索"
417
+
418
+#: searx/templates/default/result_templates/code.html:3
419
+#: searx/templates/default/result_templates/default.html:3
420
+#: searx/templates/default/result_templates/map.html:9
421
+#: searx/templates/oscar/macros.html:20
422
+msgid "cached"
423
+msgstr "缓存"
424
+
425
+#: searx/templates/oscar/base.html:78
426
+msgid "Powered by"
427
+msgstr "Powered by"
428
+
429
+#: searx/templates/oscar/base.html:78
430
+msgid "a privacy-respecting, hackable metasearch engine"
431
+msgstr "一个尊重隐私,可再开发的元搜索引擎"
432
+
433
+#: searx/templates/oscar/navbar.html:9 searx/templates/oscar/navbar.html:33
434
+msgid "home"
435
+msgstr "主页"
436
+
437
+#: searx/templates/oscar/navbar.html:14 searx/templates/oscar/navbar.html:24
438
+msgid "Toggle navigation"
439
+msgstr "切换导航"
440
+
441
+#: searx/templates/oscar/preferences.html:17
442
+#: searx/templates/oscar/preferences.html:25
443
+msgid "General"
444
+msgstr "常规"
445
+
446
+#: searx/templates/oscar/preferences.html:18
447
+#: searx/templates/oscar/preferences.html:126
448
+msgid "Engines"
449
+msgstr "搜索引擎"
450
+
451
+#: searx/templates/oscar/preferences.html:19
452
+#: searx/templates/oscar/preferences.html:187
453
+msgid "Plugins"
454
+msgstr "插件"
455
+
456
+#: searx/templates/oscar/preferences.html:20
457
+#: searx/templates/oscar/preferences.html:210
458
+msgid "Cookies"
459
+msgstr "Cookie"
460
+
461
+#: searx/templates/oscar/preferences.html:45
462
+msgid "What language do you prefer for search?"
463
+msgstr "你更喜欢搜索什么语言?"
464
+
465
+#: searx/templates/oscar/preferences.html:56
466
+msgid "Change the language of the layout"
467
+msgstr "改变界面语言"
468
+
469
+#: searx/templates/oscar/preferences.html:66
470
+msgid "Find stuff as you type"
471
+msgstr "找到你的搜索的东西"
472
+
473
+#: searx/templates/oscar/preferences.html:77
474
+msgid "Proxying image results through searx"
475
+msgstr "通过searx代理图片"
476
+
477
+#: searx/templates/oscar/preferences.html:86
478
+msgid ""
479
+"Change how forms are submited, <a "
480
+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
481
+" rel=\"external\">learn more about request methods</a>"
482
+msgstr "更改请求方法,<a href=\"http://zh.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">关于请求方法了解更多</a>"
483
+
484
+#: searx/templates/oscar/preferences.html:95
485
+msgid "Filter content"
486
+msgstr "过滤内容"
487
+
488
+#: searx/templates/oscar/preferences.html:105
489
+msgid "Change searx layout"
490
+msgstr "改变searx布局"
491
+
492
+#: searx/templates/oscar/preferences.html:143
493
+#: searx/templates/oscar/preferences.html:151
494
+msgid "Shortcut"
495
+msgstr "快捷键"
496
+
497
+#: searx/templates/oscar/preferences.html:145
498
+#: searx/templates/oscar/preferences.html:149
499
+msgid "Avg. time"
500
+msgstr "平均时间"
501
+
502
+#: searx/templates/oscar/preferences.html:146
503
+#: searx/templates/oscar/preferences.html:148
504
+msgid "Max time"
505
+msgstr "最大时间"
506
+
507
+#: searx/templates/oscar/preferences.html:213
508
+msgid ""
509
+"This is the list of cookies and their values searx is storing on your "
510
+"computer."
511
+msgstr "这是searx保存在你的电脑上的cookie列表。"
512
+
513
+#: searx/templates/oscar/preferences.html:214
514
+msgid "With that list, you can assess searx transparency."
515
+msgstr "有了这个列表,你可以评价searx透明度。"
516
+
517
+#: searx/templates/oscar/preferences.html:219
518
+msgid "Cookie name"
519
+msgstr "cookie名称"
520
+
521
+#: searx/templates/oscar/preferences.html:220
522
+msgid "Value"
523
+msgstr "值"
524
+
525
+#: searx/templates/oscar/results.html:7
526
+msgid "Search results"
527
+msgstr "搜索结果"
528
+
529
+#: searx/templates/oscar/results.html:105
530
+msgid "Links"
531
+msgstr "链接"
532
+
533
+#: searx/templates/oscar/search.html:6
534
+#: searx/templates/oscar/search_full.html:11
535
+msgid "Start search"
536
+msgstr "开始搜索"
537
+
538
+#: searx/templates/oscar/search_full.html:15
539
+msgid "Show search filters"
540
+msgstr "显示搜索过滤器"
541
+
542
+#: searx/templates/oscar/search_full.html:15
543
+msgid "Hide search filters"
544
+msgstr "隐藏搜索过滤器"
545
+
546
+#: searx/templates/oscar/stats.html:2
547
+msgid "stats"
548
+msgstr "统计"
549
+
550
+#: searx/templates/oscar/messages/first_time.html:4
551
+#: searx/templates/oscar/messages/no_results.html:5
552
+#: searx/templates/oscar/messages/save_settings_successfull.html:5
553
+#: searx/templates/oscar/messages/unknow_error.html:5
554
+msgid "Close"
555
+msgstr "关闭"
556
+
557
+#: searx/templates/oscar/messages/first_time.html:6
558
+#: searx/templates/oscar/messages/no_data_available.html:3
559
+msgid "Heads up!"
560
+msgstr "小心!"
561
+
562
+#: searx/templates/oscar/messages/first_time.html:7
563
+msgid "It look like you are using searx first time."
564
+msgstr "看起来你是第一次使用searx。"
565
+
566
+#: searx/templates/oscar/messages/js_disabled.html:2
567
+msgid "Warning!"
568
+msgstr "警告!"
569
+
570
+#: searx/templates/oscar/messages/js_disabled.html:3
571
+msgid "Please enable JavaScript to use full functionality of this site."
572
+msgstr "请启用JavaScript来使用本网站全部功能。"
573
+
574
+#: searx/templates/oscar/messages/no_cookies.html:3
575
+msgid "Information!"
576
+msgstr "信息!"
577
+
578
+#: searx/templates/oscar/messages/no_cookies.html:4
579
+msgid "currently, there are no cookies defined."
580
+msgstr "目前还未保存cookie。"
581
+
582
+#: searx/templates/oscar/messages/no_data_available.html:4
583
+msgid "There is currently no data available. "
584
+msgstr "目前没有数据可用。"
585
+
586
+#: searx/templates/oscar/messages/no_results.html:7
587
+msgid "Sorry!"
588
+msgstr "抱歉!"
589
+
590
+#: searx/templates/oscar/messages/no_results.html:8
591
+msgid ""
592
+"we didn't find any results. Please use another query or search in more "
593
+"categories."
594
+msgstr "我们没有找到任何结果。请换用其他词语或在更多类别中搜索。"
595
+
596
+#: searx/templates/oscar/messages/save_settings_successfull.html:7
597
+msgid "Well done!"
598
+msgstr "做得好!"
599
+
600
+#: searx/templates/oscar/messages/save_settings_successfull.html:8
601
+msgid "Settings saved successfully."
602
+msgstr "设置保存成功。"
603
+
604
+#: searx/templates/oscar/messages/unknow_error.html:7
605
+msgid "Oh snap!"
606
+msgstr "哦,糟糕!"
607
+
608
+#: searx/templates/oscar/messages/unknow_error.html:8
609
+msgid "Something went wrong."
610
+msgstr "出了些问题。"
611
+
612
+#: searx/templates/oscar/result_templates/default.html:7
613
+msgid "show media"
614
+msgstr "显示媒体"
615
+
616
+#: searx/templates/oscar/result_templates/default.html:7
617
+msgid "hide media"
618
+msgstr "隐藏媒体"
619
+
620
+#: searx/templates/oscar/result_templates/images.html:23
621
+msgid "Get image"
622
+msgstr "获取图片"
623
+
624
+#: searx/templates/oscar/result_templates/images.html:24
625
+msgid "View source"
626
+msgstr "查看来源"
627
+
628
+#: searx/templates/oscar/result_templates/map.html:7
629
+msgid "show map"
630
+msgstr "显示地图"
631
+
632
+#: searx/templates/oscar/result_templates/map.html:7
633
+msgid "hide map"
634
+msgstr "隐藏地图"
635
+
636
+#: searx/templates/oscar/result_templates/map.html:11
637
+msgid "show details"
638
+msgstr "显示详细信息"
639
+
640
+#: searx/templates/oscar/result_templates/map.html:11
641
+msgid "hide details"
642
+msgstr "隐藏详细信息"
643
+
644
+#: searx/templates/oscar/result_templates/torrent.html:7
645
+msgid "Filesize"
646
+msgstr "文件大小"
647
+
648
+#: searx/templates/oscar/result_templates/torrent.html:9
649
+msgid "Bytes"
650
+msgstr "B"
651
+
652
+#: searx/templates/oscar/result_templates/torrent.html:10
653
+msgid "kiB"
654
+msgstr "KB"
655
+
656
+#: searx/templates/oscar/result_templates/torrent.html:11
657
+msgid "MiB"
658
+msgstr "MB"
659
+
660
+#: searx/templates/oscar/result_templates/torrent.html:12
661
+msgid "GiB"
662
+msgstr "GB"
663
+
664
+#: searx/templates/oscar/result_templates/torrent.html:13
665
+msgid "TiB"
666
+msgstr "TB"
667
+
668
+#: searx/templates/oscar/result_templates/torrent.html:15
669
+msgid "Number of Files"
670
+msgstr "文件数"
671
+
672
+#: searx/templates/oscar/result_templates/videos.html:7
673
+msgid "show video"
674
+msgstr "显示视频"
675
+
676
+#: searx/templates/oscar/result_templates/videos.html:7
677
+msgid "hide video"
678
+msgstr "隐藏视频"
679
+
680
+#: searx/templates/pix-art/results.html:28
681
+msgid "Load more..."
682
+msgstr "载入更多..."

+ 20
- 24
searx/utils.py 파일 보기

1
-# import htmlentitydefs
2
-import locale
3
-import dateutil.parser
4
 import cStringIO
1
 import cStringIO
5
 import csv
2
 import csv
6
 import os
3
 import os
7
 import re
4
 import re
8
 
5
 
6
+from babel.dates import format_date
9
 from codecs import getincrementalencoder
7
 from codecs import getincrementalencoder
10
 from HTMLParser import HTMLParser
8
 from HTMLParser import HTMLParser
11
 from random import choice
9
 from random import choice
21
                '34.0',
19
                '34.0',
22
                '35.0',
20
                '35.0',
23
                '36.0',
21
                '36.0',
24
-               '37.0')
22
+               '37.0',
23
+               '38.0',
24
+               '39.0',
25
+               '40.0')
25
 
26
 
26
 ua_os = ('Windows NT 6.3; WOW64',
27
 ua_os = ('Windows NT 6.3; WOW64',
27
          'X11; Linux x86_64',
28
          'X11; Linux x86_64',
28
          'X11; Linux x86')
29
          'X11; Linux x86')
30
+
29
 ua = "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}"
31
 ua = "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}"
30
 
32
 
31
 blocked_tags = ('script',
33
 blocked_tags = ('script',
40
 def searx_useragent():
42
 def searx_useragent():
41
     return 'searx/{searx_version} {suffix}'.format(
43
     return 'searx/{searx_version} {suffix}'.format(
42
            searx_version=VERSION_STRING,
44
            searx_version=VERSION_STRING,
43
-           suffix=settings['server'].get('useragent_suffix', ''))
45
+           suffix=settings['outgoing'].get('useragent_suffix', ''))
44
 
46
 
45
 
47
 
46
 def highlight_content(content, query):
48
 def highlight_content(content, query):
194
     return result_templates
196
     return result_templates
195
 
197
 
196
 
198
 
197
-def format_date_by_locale(date_string, locale_string):
199
+def format_date_by_locale(date, locale_string):
198
     # strftime works only on dates after 1900
200
     # strftime works only on dates after 1900
199
-    parsed_date = dateutil.parser.parse(date_string)
200
-    if parsed_date.year <= 1900:
201
-        return parsed_date.isoformat().split('T')[0]
202
-
203
-    orig_locale = locale.getlocale()[0]
204
-    try:
205
-        locale.setlocale(locale.LC_ALL, locale_string)
206
-    except:
207
-        logger.warning('cannot set locale: {0}'.format(locale_string))
208
-    formatted_date = parsed_date.strftime(locale.nl_langinfo(locale.D_FMT))
209
-    try:
210
-        locale.setlocale(locale.LC_ALL, orig_locale)
211
-    except:
212
-        logger.warning('cannot set original locale: {0}'.format(orig_locale))
213
-    return formatted_date
201
+
202
+    if date.year <= 1900:
203
+        return date.isoformat().split('T')[0]
204
+
205
+    if locale_string == 'all':
206
+        locale_string = settings['ui']['default_locale'] or 'en_US'
207
+
208
+    return format_date(date, locale=locale_string)
214
 
209
 
215
 
210
 
216
 def dict_subset(d, properties):
211
 def dict_subset(d, properties):
221
     return result
216
     return result
222
 
217
 
223
 
218
 
224
-def prettify_url(url):
225
-    if len(url) > 74:
226
-        return u'{0}[...]{1}'.format(url[:35], url[-35:])
219
+def prettify_url(url, max_length=74):
220
+    if len(url) > max_length:
221
+        chunk_len = max_length / 2 + 1
222
+        return u'{0}[...]{1}'.format(url[:chunk_len], url[-chunk_len:])
227
     else:
223
     else:
228
         return url
224
         return url
229
 
225
 

+ 1
- 1
searx/version.py 파일 보기

18
 
18
 
19
 # version of searx
19
 # version of searx
20
 VERSION_MAJOR = 0
20
 VERSION_MAJOR = 0
21
-VERSION_MINOR = 7
21
+VERSION_MINOR = 8
22
 VERSION_BUILD = 0
22
 VERSION_BUILD = 0
23
 
23
 
24
 VERSION_STRING = "{0}.{1}.{2}".format(VERSION_MAJOR,
24
 VERSION_STRING = "{0}.{1}.{2}".format(VERSION_MAJOR,

+ 35
- 35
searx/webapp.py 파일 보기

42
 
42
 
43
 from datetime import datetime, timedelta
43
 from datetime import datetime, timedelta
44
 from urllib import urlencode
44
 from urllib import urlencode
45
-from urlparse import urlparse
45
+from urlparse import urlparse, urljoin
46
 from werkzeug.contrib.fixers import ProxyFix
46
 from werkzeug.contrib.fixers import ProxyFix
47
 from flask import (
47
 from flask import (
48
     Flask, request, render_template, url_for, Response, make_response,
48
     Flask, request, render_template, url_for, Response, make_response,
77
 
77
 
78
 
78
 
79
 static_path, templates_path, themes =\
79
 static_path, templates_path, themes =\
80
-    get_themes(settings['themes_path']
81
-               if settings.get('themes_path')
80
+    get_themes(settings['ui']['themes_path']
81
+               if settings['ui']['themes_path']
82
                else searx_dir)
82
                else searx_dir)
83
 
83
 
84
-default_theme = settings['server'].get('default_theme', 'default')
84
+default_theme = settings['ui']['default_theme']
85
 
85
 
86
 static_files = get_static_files(searx_dir)
86
 static_files = get_static_files(searx_dir)
87
 
87
 
121
                    gettext('news'),
121
                    gettext('news'),
122
                    gettext('map'))
122
                    gettext('map'))
123
 
123
 
124
-outgoing_proxies = settings.get('outgoing_proxies', None)
124
+outgoing_proxies = settings['outgoing'].get('proxies', None)
125
 
125
 
126
 
126
 
127
 @babel.localeselector
127
 @babel.localeselector
128
 def get_locale():
128
 def get_locale():
129
     locale = request.accept_languages.best_match(settings['locales'].keys())
129
     locale = request.accept_languages.best_match(settings['locales'].keys())
130
 
130
 
131
-    if settings['server'].get('default_locale'):
132
-        locale = settings['server']['default_locale']
131
+    if settings['ui'].get('default_locale'):
132
+        locale = settings['ui']['default_locale']
133
 
133
 
134
     if request.cookies.get('locale', '') in settings['locales']:
134
     if request.cookies.get('locale', '') in settings['locales']:
135
         locale = request.cookies.get('locale', '')
135
         locale = request.cookies.get('locale', '')
263
 def render(template_name, override_theme=None, **kwargs):
263
 def render(template_name, override_theme=None, **kwargs):
264
     blocked_engines = get_blocked_engines(engines, request.cookies)
264
     blocked_engines = get_blocked_engines(engines, request.cookies)
265
 
265
 
266
-    autocomplete = request.cookies.get('autocomplete')
266
+    autocomplete = request.cookies.get('autocomplete', settings['search']['autocomplete'])
267
 
267
 
268
     if autocomplete not in autocomplete_backends:
268
     if autocomplete not in autocomplete_backends:
269
         autocomplete = None
269
         autocomplete = None
312
 
312
 
313
     kwargs['method'] = request.cookies.get('method', 'POST')
313
     kwargs['method'] = request.cookies.get('method', 'POST')
314
 
314
 
315
-    kwargs['safesearch'] = request.cookies.get('safesearch', '1')
315
+    kwargs['safesearch'] = request.cookies.get('safesearch', str(settings['search']['safe_search']))
316
 
316
 
317
     # override url_for function in templates
317
     # override url_for function in templates
318
     kwargs['url_for'] = url_for_theme
318
     kwargs['url_for'] = url_for_theme
383
 
383
 
384
     plugins.call('post_search', request, locals())
384
     plugins.call('post_search', request, locals())
385
 
385
 
386
-    for result in search.results:
386
+    for result in search.result_container.get_ordered_results():
387
 
387
 
388
         plugins.call('on_result', request, locals())
388
         plugins.call('on_result', request, locals())
389
         if not search.paging and engines[result['engine']].paging:
389
         if not search.paging and engines[result['engine']].paging:
411
                 minutes = int((timedifference.seconds / 60) % 60)
411
                 minutes = int((timedifference.seconds / 60) % 60)
412
                 hours = int(timedifference.seconds / 60 / 60)
412
                 hours = int(timedifference.seconds / 60 / 60)
413
                 if hours == 0:
413
                 if hours == 0:
414
-                    result['publishedDate'] = gettext(u'{minutes} minute(s) ago').format(minutes=minutes)  # noqa
414
+                    result['publishedDate'] = gettext(u'{minutes} minute(s) ago').format(minutes=minutes)
415
                 else:
415
                 else:
416
                     result['publishedDate'] = gettext(u'{hours} hour(s), {minutes} minute(s) ago').format(hours=hours, minutes=minutes)  # noqa
416
                     result['publishedDate'] = gettext(u'{hours} hour(s), {minutes} minute(s) ago').format(hours=hours, minutes=minutes)  # noqa
417
             else:
417
             else:
419
 
419
 
420
     if search.request_data.get('format') == 'json':
420
     if search.request_data.get('format') == 'json':
421
         return Response(json.dumps({'query': search.query,
421
         return Response(json.dumps({'query': search.query,
422
-                                    'results': search.results}),
422
+                                    'results': search.result_container.get_ordered_results()}),
423
                         mimetype='application/json')
423
                         mimetype='application/json')
424
     elif search.request_data.get('format') == 'csv':
424
     elif search.request_data.get('format') == 'csv':
425
         csv = UnicodeWriter(cStringIO.StringIO())
425
         csv = UnicodeWriter(cStringIO.StringIO())
426
         keys = ('title', 'url', 'content', 'host', 'engine', 'score')
426
         keys = ('title', 'url', 'content', 'host', 'engine', 'score')
427
-        if search.results:
428
-            csv.writerow(keys)
429
-            for row in search.results:
430
-                row['host'] = row['parsed_url'].netloc
431
-                csv.writerow([row.get(key, '') for key in keys])
432
-            csv.stream.seek(0)
427
+        csv.writerow(keys)
428
+        for row in search.result_container.get_ordered_results():
429
+            row['host'] = row['parsed_url'].netloc
430
+            csv.writerow([row.get(key, '') for key in keys])
431
+        csv.stream.seek(0)
433
         response = Response(csv.stream.read(), mimetype='application/csv')
432
         response = Response(csv.stream.read(), mimetype='application/csv')
434
         cont_disp = 'attachment;Filename=searx_-_{0}.csv'.format(search.query)
433
         cont_disp = 'attachment;Filename=searx_-_{0}.csv'.format(search.query)
435
         response.headers.add('Content-Disposition', cont_disp)
434
         response.headers.add('Content-Disposition', cont_disp)
437
     elif search.request_data.get('format') == 'rss':
436
     elif search.request_data.get('format') == 'rss':
438
         response_rss = render(
437
         response_rss = render(
439
             'opensearch_response_rss.xml',
438
             'opensearch_response_rss.xml',
440
-            results=search.results,
439
+            results=search.result_container.get_ordered_results(),
441
             q=search.request_data['q'],
440
             q=search.request_data['q'],
442
-            number_of_results=len(search.results),
441
+            number_of_results=search.result_container.results_length(),
443
             base_url=get_base_url()
442
             base_url=get_base_url()
444
         )
443
         )
445
         return Response(response_rss, mimetype='text/xml')
444
         return Response(response_rss, mimetype='text/xml')
446
 
445
 
447
     return render(
446
     return render(
448
         'results.html',
447
         'results.html',
449
-        results=search.results,
448
+        results=search.result_container.get_ordered_results(),
450
         q=search.request_data['q'],
449
         q=search.request_data['q'],
451
         selected_categories=search.categories,
450
         selected_categories=search.categories,
452
         paging=search.paging,
451
         paging=search.paging,
453
         pageno=search.pageno,
452
         pageno=search.pageno,
454
         base_url=get_base_url(),
453
         base_url=get_base_url(),
455
-        suggestions=search.suggestions,
456
-        answers=search.answers,
457
-        infoboxes=search.infoboxes,
454
+        suggestions=search.result_container.suggestions,
455
+        answers=search.result_container.answers,
456
+        infoboxes=search.result_container.infoboxes,
458
         theme=get_current_theme_name(),
457
         theme=get_current_theme_name(),
459
         favicons=global_favicons[themes.index(get_current_theme_name())]
458
         favicons=global_favicons[themes.index(get_current_theme_name())]
460
     )
459
     )
491
         return '', 400
490
         return '', 400
492
 
491
 
493
     # run autocompleter
492
     # run autocompleter
494
-    completer = autocomplete_backends.get(request.cookies.get('autocomplete'))
493
+    completer = autocomplete_backends.get(request.cookies.get('autocomplete', settings['search']['autocomplete']))
495
 
494
 
496
     # parse searx specific autocompleter results like !bang
495
     # parse searx specific autocompleter results like !bang
497
     raw_results = searx_bang(query)
496
     raw_results = searx_bang(query)
532
 
531
 
533
     blocked_engines = []
532
     blocked_engines = []
534
 
533
 
535
-    resp = make_response(redirect(url_for('index')))
534
+    resp = make_response(redirect(urljoin(settings['server']['base_url'], url_for('index'))))
536
 
535
 
537
     if request.method == 'GET':
536
     if request.method == 'GET':
538
         blocked_engines = get_blocked_engines(engines, request.cookies)
537
         blocked_engines = get_blocked_engines(engines, request.cookies)
542
         locale = None
541
         locale = None
543
         autocomplete = ''
542
         autocomplete = ''
544
         method = 'POST'
543
         method = 'POST'
545
-        safesearch = '1'
544
+        safesearch = settings['search']['safe_search']
546
         for pd_name, pd in request.form.items():
545
         for pd_name, pd in request.form.items():
547
             if pd_name.startswith('category_'):
546
             if pd_name.startswith('category_'):
548
                 category = pd_name[9:]
547
                 category = pd_name[9:]
624
 
623
 
625
         resp.set_cookie('method', method, max_age=cookie_max_age)
624
         resp.set_cookie('method', method, max_age=cookie_max_age)
626
 
625
 
627
-        resp.set_cookie('safesearch', safesearch, max_age=cookie_max_age)
626
+        resp.set_cookie('safesearch', str(safesearch), max_age=cookie_max_age)
628
 
627
 
629
         resp.set_cookie('image_proxy', image_proxy, max_age=cookie_max_age)
628
         resp.set_cookie('image_proxy', image_proxy, max_age=cookie_max_age)
630
 
629
 
640
             stats[e.name] = {'time': None,
639
             stats[e.name] = {'time': None,
641
                              'warn_timeout': False,
640
                              'warn_timeout': False,
642
                              'warn_time': False}
641
                              'warn_time': False}
643
-            if e.timeout > settings['server']['request_timeout']:
642
+            if e.timeout > settings['outgoing']['request_timeout']:
644
                 stats[e.name]['warn_timeout'] = True
643
                 stats[e.name]['warn_timeout'] = True
645
 
644
 
646
     for engine_stat in get_engines_stats()[0][1]:
645
     for engine_stat in get_engines_stats()[0][1]:
647
         stats[engine_stat.get('name')]['time'] = round(engine_stat.get('avg'), 3)
646
         stats[engine_stat.get('name')]['time'] = round(engine_stat.get('avg'), 3)
648
-        if engine_stat.get('avg') > settings['server']['request_timeout']:
647
+        if engine_stat.get('avg') > settings['outgoing']['request_timeout']:
649
             stats[engine_stat.get('name')]['warn_time'] = True
648
             stats[engine_stat.get('name')]['warn_time'] = True
650
     # end of stats
649
     # end of stats
651
 
650
 
683
 
682
 
684
     resp = requests.get(url,
683
     resp = requests.get(url,
685
                         stream=True,
684
                         stream=True,
686
-                        timeout=settings['server'].get('request_timeout', 2),
685
+                        timeout=settings['outgoing']['request_timeout'],
687
                         headers=headers,
686
                         headers=headers,
688
                         proxies=outgoing_proxies)
687
                         proxies=outgoing_proxies)
689
 
688
 
767
 
766
 
768
 @app.route('/clear_cookies')
767
 @app.route('/clear_cookies')
769
 def clear_cookies():
768
 def clear_cookies():
770
-    resp = make_response(redirect(url_for('index')))
769
+    resp = make_response(redirect(urljoin(settings['server']['base_url'], url_for('index'))))
771
     for cookie_name in request.cookies:
770
     for cookie_name in request.cookies:
772
         resp.delete_cookie(cookie_name)
771
         resp.delete_cookie(cookie_name)
773
     return resp
772
     return resp
775
 
774
 
776
 def run():
775
 def run():
777
     app.run(
776
     app.run(
778
-        debug=settings['server']['debug'],
779
-        use_debugger=settings['server']['debug'],
780
-        port=settings['server']['port']
777
+        debug=settings['general']['debug'],
778
+        use_debugger=settings['general']['debug'],
779
+        port=settings['server']['port'],
780
+        host=settings['server']['bind_address']
781
     )
781
     )
782
 
782
 
783
 
783