Skip to content

Instantly share code, notes, and snippets.

@nekitvand
Created February 8, 2019 10:33
Show Gist options
  • Save nekitvand/0fa2aee0d4d813ed0859184b9aac16f2 to your computer and use it in GitHub Desktop.
Save nekitvand/0fa2aee0d4d813ed0859184b9aac16f2 to your computer and use it in GitHub Desktop.
Яндекс Переводчик API
import requests
URL = "https://translate.yandex.net/api/v1.5/tr.json/translate" . #это адрес для обращения к API
KEY = "trnsl.1.1.20190115T093726Z.65e1460d8d95bd06.р45ор345о3р4о53р45о345р3о" #Это ваш API ключ
def translate_me(mytext):
params = {
"key": KEY,
"text": mytext,
"lang": 'ru-en' . #Здесь мы указываем с какого языка на какой мы делаем переводим
}
response = requests.get(URL ,params=params)
return response.json()
json = translate_me("Привет мой друг") #Сюда мы вводим текст который нам нужно перевести (для удобности можно вынести в отдельную переменную
print(''.join(json["text"]))
@delvin-fil
Copy link

По моему, так удобней:

#!/home/delvin/.local/bin/python3.8
import sys
import warnings
warnings.filterwarnings("ignore")
import requests

headers = {
    'User-Agent': ('Mozilla/5.0 (Windows NT 6.0; rv:14.0) Gecko/20100101 '
                   'Firefox/14.0.1'),
    'Accept':
    'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language':
    'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3',
    'Accept-Encoding':
    'gzip, deflate',
    'Connection':
    'keep-alive',
    'DNT':
    '1'
}

if len(sys.argv) < 2:
    print('Usage: tr.py -lf -t \n \
    	-lf - language from-to \n \
        -t - text')
    sys.exit()

URL = "https://translate.yandex.net/api/v1.5/tr.json/translate" 
KEY = "Это ваш API ключ" 
lf = sys.argv[1]
t = sys.argv[2]
def translate_me(mytext):
	params = {
	"key": KEY,
	"text": t,
	"lang": lf
	}
	response = requests.get(URL ,params=params, headers=headers)
	return response.json()

json = translate_me('')
print(''.join(json['text']))

@tellts
Copy link

tellts commented Feb 2, 2022

В России ключи Api не работают в настоящее время. В то же время сервисом можно воспользоваться через Yandex.Cloud, если переписать код. Если интересно, поищу документацию, так как сам нуждаюсь в этом и изучаю Python.

@delvin-fil
Copy link

delvin-fil commented Feb 3, 2022

@tellts
Copy link

tellts commented Feb 3, 2022

Благодарю. А как им пользоваться после установки, у Вас показано где нибудь?

@tellts
Copy link

tellts commented Feb 4, 2022

Текст для перевода надо выделить или скопировать? Перед нажатием на горячую клавишу, как программа узнает, с какого на какой язык переводить, если нужен двухсторонний перевод?

@delvin-fil
Copy link

  1. Выделить
  2. Модуль langdetect выдирает подходящий язык автоматически. Ошибки замечал только в детектировании славянской группы(болгарский, чешский и т.д.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment