|  | @@ -7,11 +7,12 @@ from searx.languages import language_codes
 | 
	
		
			
			| 7 | 7 |  
 | 
	
		
			
			| 8 | 8 |  categories = ['general']
 | 
	
		
			
			| 9 | 9 |  url = 'http://api.mymemory.translated.net/get?q={query}' \
 | 
	
		
			
			| 10 |  | -      '&langpair={from_lang}|{to_lang}'
 | 
	
		
			
			|  | 10 | +      '&langpair={from_lang}|{to_lang}{key}'
 | 
	
		
			
			| 11 | 11 |  web_url = 'http://mymemory.translated.net/en/{from_lang}/{to_lang}/{query}'
 | 
	
		
			
			| 12 | 12 |  weight = 100
 | 
	
		
			
			| 13 | 13 |  
 | 
	
		
			
			| 14 | 14 |  parser_re = re.compile(u'.*?([a-z]+)-([a-z]+) (.{2,})$', re.I)
 | 
	
		
			
			|  | 15 | +api_key = ''
 | 
	
		
			
			| 15 | 16 |  
 | 
	
		
			
			| 16 | 17 |  
 | 
	
		
			
			| 17 | 18 |  def is_valid_lang(lang):
 | 
	
	
		
			
			|  | @@ -41,9 +42,14 @@ def request(query, params):
 | 
	
		
			
			| 41 | 42 |      if not from_lang or not to_lang:
 | 
	
		
			
			| 42 | 43 |          return params
 | 
	
		
			
			| 43 | 44 |  
 | 
	
		
			
			|  | 45 | +    if api_key:
 | 
	
		
			
			|  | 46 | +        key_form = '&key=' + api_key
 | 
	
		
			
			|  | 47 | +    else:
 | 
	
		
			
			|  | 48 | +        key_form = ''
 | 
	
		
			
			| 44 | 49 |      params['url'] = url.format(from_lang=from_lang[1],
 | 
	
		
			
			| 45 | 50 |                                 to_lang=to_lang[1],
 | 
	
		
			
			| 46 |  | -                               query=query)
 | 
	
		
			
			|  | 51 | +                               query=query,
 | 
	
		
			
			|  | 52 | +                               key=key_form)
 | 
	
		
			
			| 47 | 53 |      params['query'] = query
 | 
	
		
			
			| 48 | 54 |      params['from_lang'] = from_lang
 | 
	
		
			
			| 49 | 55 |      params['to_lang'] = to_lang
 |