Знаете ли вы, что в Excel реализован инструмент перевода текста на другой язык. С помощью мини-переводчика вы можете перевести фразу, абзац или весь файл, написанный на другом языке. Данный элемент использует функционал программы Microsoft Translator, который по умолчанию содержится в офисных приложениях Microsoft. В сегодняшней статье я опишу, как воспользоваться данным функционалом. Помимо этого, мы рассмотрим, как с помощью функций ВЕБСЛУЖБА и ФИЛЬТР.XML реализовать Яндекс переводчик в нашей Excel книге.
Перевод с помощью Microsoft Translator
Итак, у вас имеется текст, который необходимо перевести на другой язык. В нашем случае, я хочу перевести текст, находящийся в ячейках A1:A3 с русского на английский. Переходим во вкладку Рецензирование в группу Язык, щелкаем по кнопке Перевод. В правой части книги появится панель Справочные материалы, в которой необходимо указать переводимый текст и языки исходный и на который перевести.
Чтобы задать текст для перевода, есть два пути. Первый, банальный, ручками набиваем текст в поле Искать, указываем язык перевода, жмем кнопку со стрелкой, слева от поля, ждем пару секунд пока Microsoft Translator подберет нужные слова и наслаждаемся результатом перевода в этой же панельке.
Второй вариант более технологичный и предполагает, что текст, который требуется перевести, уже имеется на листе. Для этого, удерживая клавишу Alt, щелкаем по ячейке с переводимым текстом, в поле Искать панели Справочные материалы вы увидите фразу с выбранной ячейки, а ниже ее перевод. Если вы нажмете кнопку Вставить, находящуюся под переводом, Excel заменит исходный текст в ячейке на переведенный.
Данный инструмент прост в обращении и особенно выручает, если в Excel книге попадаются незнакомые слова.
Реализация Яндекс переводчика в Excel
Способ, описанный выше, не требует каких-либо особых навыков владения Excel, достаточно один раз воспользоваться им, и все станет понятно. Способ, описанный ниже, посложнее и тем интереснее, потребует от пользователей некоторой сноровки.
Итак, как я уже писал в статье об автоматическом обновлении валют, в Excel 2013 реализован инструмент импорта данных в формате XML, с помощью функции ВЕБСЛУЖБА и ФИЛЬТР.XML. Первая функции использует API веб службы для выгрузки данных из интернета, вторая – возвращает конкретную информацию из выгруженного XML. Для реализации задуманной идеи в Excel мы воспользуемся переводчиком Яндекс, который имеет свой API. Переходим на страницу API Перевода Яндекс, где можно прочитать всю документацию и правила оформления результатов перевода, находим пункт Получите бесплатный API-ключ и щелкаем по нему (ВНИМАНИЕ! Чтобы получить ключ, у вас должен иметься профиль Яндекс).
Далее необходимо заполнить форму получения API-ключа, где надо указать от какой службы вам требуется ключ, прочитать пользовательское соглашение, поставить галочку о прочтении и нажать кнопку Получить API-ключ. Выглядит он следующим образом.
Данный ключ будет использоваться, как один из обязательных аргументов в передаваемом URL запросе к Яндекс службам. Следующий обязательный аргумент – это текст, который требуется перевести и третий аргумент – направление перевода, может задаваться как пара кодов языков (например, ru-en), либо в виде кода конечного языка (например, ru). Подробнее о синтаксисе URL запроса можете почитать на сайте Яндекс.
Таким образом, два обязательных аргумента у вас будут практически неизменными – ключ и язык перевода, а текст перевода будет переменным аргументом.
Важный момент, на который следует обратить внимание – прежде чем передавать запрос в Яндекс, необходимо изменить кодировку текста запроса, на понятный для веб службы язык. Для этого необходимо воспользоваться функцией КОДИР.URL, которая возвращает строку, зашифрованную в виде URL-адреса. К примеру, текст Самара будет выглядеть как %D0%A1%D0%B0%D0%BC%D0%B0%D1%80%D0%B0.
Добавив немного лоска нашем файлу, наш переводчик принял вполне удобочитаемый вид.
Скачать файл с переводчиком Яндекс в Excel.
Файла с примером нет.
Спасибо, файл добавил
как можно дать команду переводить строки одну за другой?
Перевод не работает, ошибка #ИМЯ, возможно что то изменилось со стороны яндекса?
Формула с запросом WEBSERVICE(O9) даёт ошибку #VALUE!
Если открыть ссылку с URL запросом в любом случае появляется:
Здравствуйте, дорогие
URL в адресной строке заменён на: https://translate.yandex.net/api/v1.5/tr/translate?key=trnsl.1.1.ХХХ…ХХХ&lang=en-ru&text=hello%20dear&options=1
Независимо от текста ввода.
Что может быть?
Если скопировать URL из ячейки вручную, то всё работает.
Что может быть не так с WEBSERVICE?
Добрый день, судя по запросу, который вы пытаетесь отправить в яндекс, вы забыли вписать API ключ, без него операция не возможна
Спасибо
Здравствуйте. Подскажите пожалуйста — можно ли сделать при помощи Microsoft Translator одновременный перевод всех выделеных ячеек? Чтобы не переводить каждую отдельно
Добрый день, подставил API — ключ в поле, мне сформировалась ссылка, если перейти по ней вручную, то все отрабатывается на ура, но сам эксель в формуле =ВЕБСЛУЖБА(O9), выдает #ЗНАЧ!, что можете посоветовать?
тоже что-то не работает.
Автору просим выложить рабочий файл с примером чтобы можно, подправив у себя, его использовать!
Ренат, у меня к вам просьба уточнить URL запрос, к сожалению тот, что в файле не работает. Где вы его взяли?
Спасибо за вашу работу. Пересобрал для перевода столбца таблички — все отлично.
Спасибо
Рахмат, Ренатик! Помог с переводом с английского на русский!!!