Уже давно гугл отказался предоставлять API к своему переводчику бесплатно, а у Яндекса, насколько я знаю, поддерживается еще мало языков и еще нет публичных API. Я знаю только 1 бесплатный аналог переводчику гугла – Bing Translator. В этой статье показана интеграция переводчика от Microsoft в Rails-приложение.
установка
Раньше я сам писал интерфейс к бингу, а сегодня случайно нашел крутой гем Bing Translator. Все что я опишу ниже есть на офстранице гема, но все же.
Установка элементарная, как обычно надо вставить в Gemfile
gem "bing_translator", "~> 3.0.0" |
и забандлить
# bundle install |
эксплуатация
Для начала нужно создать экземпляр класса BingTranslator
, от которого потом и надо плясать.
translator = BingTranslator.new('YOUR_CLIENT_ID', 'YOUR_CLIENT_SECRET') |
А вот чтобы получить эти ключи надо пройти на Azure и залогиниться там. Primary Account Key
и Customer ID
это, соответственно, и будут YOUR_CLIENT_SECRET
и YOUR_CLIENT_ID
.
Чтобы перевести что-либо, например, с английского на испанский достаточно этого
spanish=translator.translate 'Hello. This will be translated!', :from => 'en', :to => 'es' |
Язык оригинала можно не указывать, в этом случае он будет определен бингом автоматически.
spanish=translator.translate 'Hello. This will be translated!', :to => 'es' |
В случае если нужно узнать только язык, а переводить не надо, нужно использовать метод detect
.
locale = translator.detect 'Hello. This will be translated!' # => :en |
p.s. Честно говоря, переводчик от бинга бесплатно переводит только 2 млн. символов в месяц, за 4 млн. уже надо платить $40 в месяц.