Beautiful Gallery Post.

Время от времени у разработчиков возникает потребность делать перевод своих текстов на английский или другие языки. Так же бывает и наоборот переводить иностранные тексты на русский. В обычной жизни вы можете просто воспользоваться Google Translate и быстро перевести свой текст, но бывает, что его очень много и нужно этот процесс автоматизировать. Как тогда быть?

Наши любимые глобальные корпорации предоставляют доступ к своим сервисам по API. В этой статье мы разберем примеры доступа к Яндекс.Переводчик.

Сразу скажу, что для своих целей я выбрал именно Яндекс по некоторым причинам.

1. Можно переводить большие тексты более 10000 символов за один запрос, этого мне было предостаточно.

2. Можно делать больше запросов в сутки, а именно суммарное количество до 1 000 000 символов в сутки.

Качество перевода оценить трудно, и для моих задач это было не критично.

Как использовать API Яндекс.Переводчик

1. Необходимо получить API-ключ https://translate.yandex.ru/developers/keys

2. Лучше прочитать пользовательское соглашение на использование сервиса. http://legal.yandex.ru/translate_api/

Если коротко то некоторые ограничения:

1. Как я писал выше это 1 000 000 символов в сутки, но не более 10 000 000 в месяц.

2. Нельзя создавать сервисы по переводу текстов на основе Яндекс.Переводчика

3. Вы должны помечать переведенный текст размещенный для общего доступа например у себя на сайте пометкой - Переведено сервисом «Яндекс.Переводчик» с активной гиперссылкой на страницу http://translate.yandex.ru

Пример программного кода на Python

 


# coding: utf8 
import requests 
import ast 

def translatpost(word):
    yandex_api_key='trnsl.1.1.20151129T125344Z.87433384b5??????????????????????????????' #Ваш API-ключ
    r = requests.post("https://translate.yandex.net/api/v1.5/tr.json/translate?%s",
                      {'key' : yandex_api_key,'text' : word,'lang' : 'ru-en','format':'html'})
    d = ast.literal_eval(r.text)
    text_trans=d['text'][0]
    print(text_trans)
    return text_trans

translatpost('<p>Привет мир</p>') # Запрос ввиде HTML-разметки
#Результатк так же ввиде HTML-разметки

'<p>Hello world</p>'

В нашем примере мы отправляем POST запрос со следующими параметрами:


{'key' : yandex_api_key,'text' : word,'lang' : 'ru-en','format':'html'}

Где:

key - это Ваш API-ключ

text - это текст который необходимо перевести

lang - это направление перевода и на какой язык переводить

format - это формат текста (В примере мы используем перевод такста с HTML-разметкой)

About the Author

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed viverra auctor neque. Nullam lobortis, sapien vitae lobortis tristique.

Comments ( 5 )

  1. admin
    January 15 , 2014 at 10:00 pm
    Reply

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi adipiscing gravida odio, sit amet suscipit risus ultrices eu. Fusce viverra neque at purus laoreet consequat. Vivamus vulputate posuere nisl quis consequat.

    • admin
      January 15 , 2014 at 10:00 pm
      Reply

      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi adipiscing gravida odio, sit amet suscipit risus ultrices eu. Fusce viverra neque at purus laoreet consequat. Vivamus vulputate posuere nisl quis consequat.

      • admin
        January 15 , 2014 at 10:00 pm
        Reply

        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi adipiscing gravida odio, sit amet suscipit risus ultrices eu. Fusce viverra neque at purus laoreet consequat. Vivamus vulputate posuere nisl quis consequat.

    • admin
      January 15 , 2014 at 10:00 pm
      Reply

      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi adipiscing gravida odio, sit amet suscipit risus ultrices eu. Fusce viverra neque at purus laoreet consequat. Vivamus vulputate posuere nisl quis consequat.

  2. admin
    January 15 , 2014 at 10:00 pm
    Reply

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi adipiscing gravida odio, sit amet suscipit risus ultrices eu. Fusce viverra neque at purus laoreet consequat. Vivamus vulputate posuere nisl quis consequat.

Leave a reply

 Prev post

Next post