Как сделать перевод в excel?

Блог о программе Microsoft Excel: приемы, хитрости, секреты, трюки

Переводчик в Excel — Microsoft Translator и Яндекс Переводчик

Знаете ли вы, что в 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

В этой статье приведены сведения о настройке и использовании надстройки Переводчик функций в Excel. Переводчик функций будет полезен тем, кто использует разные языковые версии Excel и хочет найти правильную функцию на нужном языке. Эта надстройка может переводить с одного языка на другой даже целые формулы!

Помогает пользователям, знакомым с английскими функциями Excel, продуктивно работать с локализованными версиями Excel.

Позволяет пользователям полностью переводить формулы на родной язык.

Поддерживает все локализованные языки и функции Excel (80 языков и 800 функций).

Обеспечивает эффективный поиск любой части имени функции на обоих выбранных языках.

Отображает прокручиваемый список по категориям для английских функций и соответствующие локализованные функции.

Позволяет отправить корпорации Майкрософт отзыв о качестве перевода функций. Вы можете оставить отзыв о той или иной функции на любом из доступных языков.

Локализован на английский, датский, немецкий, испанский, французский, итальянский, японский, корейский, нидерландский, португальский (Бразилия), русский, шведский, турецкий и китайский (традиционное письмо и набор сложных знаков) языки.

Установка надстройки «Переводчик функций»

Надстройка Переводчик функций доступна бесплатно в Microsoft Store. Чтобы установить ее, выполните указанные ниже действия.

Запустите приложение Microsoft Excel.

Перейдите на вкладку Вставка.

Нажмите кнопку Магазин на ленте.

Откроется диалоговое окно «Надстройки Office». В верхней части окна выберите пункт Магазин, а слева — Производительность.

Введите в поле поиска запрос Functions Translator.

Нажмите зеленую кнопку Добавить справа от найденной надстройки «Переводчик функций». Она будет установлена.

Настройка Переводчика функций

После установки надстройки Переводчик функций на вкладке Главная справа появятся две новых кнопки.

Они открывают в диалоговом окне Переводчик функций области Справочник и Переводчик соответственно. Исключением является первый запуск надстройки Переводчик функций — в этом случае открывается область Добро пожаловать:

Рабочая область Переводчика функций всегда открывается в правой части Excel.

Вы можете перейти непосредственно к переводу, щелкнув ссылку Пропустить > в правом верхнем углу, но мы рекомендуем нажать кнопку Приступим, чтобы перейти в диалоговое окно языковых параметров. Здесь вы можете выбрать языки С и На по умолчанию (их можно изменить в любое время).

Читать еще:  Абсолютная ссылка в excel как сделать горячие клавиши

Здесь вы можете указать языковые параметры. Хотя Переводчик функций поддерживает все языки, на которые локализованы функции Excel, в каждом случае вы можете использовать только пару из них. Доступно любое сочетание языков, и приложение Excel запомнит ваш выбор. Вы в любое время можете изменить языковую пару в области Настройки, которую можно открыть во всех основных областях Переводчика функций.

По умолчанию значением параметра С является английский язык, а параметра На — язык установки приложения Excel. Если язык установки совпадает с одним из языков локализации надстройки Переводчик функций, пользовательский интерфейс отображается на этом языке. После выбора языковой пары нажмите кнопку Начать работу.

В переводчике используются параметры С и На. С — это язык, который вы знаете, На — это язык, перевод на который вам нужен. Так, если вы используете для поиска функций английский язык, но хотите найти их имена на французском языке, то для параметра С нужно выбрать английский язык, а для параметра На — французский.

С помощью зеленой кнопки Стрелка вверх/стрелка вниз между параметрами «С» и «На» можно менять языки С и На местами.

Вы можете открыть область Настройки, щелкнув значок настроек в правом нижнем углу любой из трех основных областей.

Здесь представлены разные полезные ссылки. Кроме того, в этой области можно в любое время изменить языки С и На. Щелкните стрелку влево в верхней части области, чтобы вернуться в основную область.

Область «Справочник»

В области Справочник есть раскрывающийся список Категория функций, с помощью которого можно отобразить все функции в указанной категории для языков С (слева) и На (справа). Если вы не знаете, к какой категории относится функция, можно использовать параметр Все.

По умолчанию функции сортируются в алфавитном порядке языка С (в данном случае английского), рядом с которым отображается маленькая стрелка вниз. Вы можете сортировать функции в обычном или обратном алфавитном порядке, а также выбирать язык сортировки (С или На). Просто щелкните название языка, по которому нужно отсортировать функции, а для сортировки в обратном порядке щелкните его еще раз. Стрелка указывает направление сортировки.

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

Область «Словарь»

В области Словарь можно выполнять поиск любой части имени функции. Результат поиска будет включать все функции, содержащие введенные вами символы. Для повышения производительности поиск выполняется, если введено не менее двух символов. Поиск выполняется для выбранной языковой пары, а результаты возвращаются для обоих языков.

Обнаружив нужное имя функции, вы можете щелкнуть его, чтобы отобразить языковую пару и определение функции. Если щелкнуть имя функции в области Справочник, также откроется область Словарь с указанием языковой пары и описания функции.

У некоторых функций нет описаний.

Описания функций предоставляются только на английском языке.

Чтобы посмотреть локализованное описание, перейдите на вкладку «Формулы», щелкните нужную категорию функций и наведите указатель мыши на требуемую функцию. В Excel отобразится описание функции на языке установки.

Щелкните значок лампочки в области Словарь, чтобы открыть область Отзыв о переводе, где вы можете оставить отзыв об определенном переводе.

Область «Переводчик»

В области Переводчик можно полностью перевести формулу с одного языка на другой. Ниже приведен пример области Переводчик, где формула переведена с английского языка на французский:

Верхнее поле предназначено для языка С, нижнее — для языка На. Две зеленые кнопки со стрелками между этими полями выполняют перевод в указанном направлении. В примере мы вставили формулу в поле для языка С и нажали кнопку со стрелкой вниз, чтобы перевести формулу на французский язык.

Ручная настройка разделителей

В функциях Excel для разделения диапазонов и аргументов используются разделители. В каждом языке используются свои разделители, и Переводчик функций пытается подобрать нужный вариант, но иногда разделители следует выбирать вручную.

Под полями для языков «С» и «На» отображаются показанные выше кнопки. Первая кнопка вставляет текст из поля выше в активную ячейку. Эту кнопку можно использовать для вставки локализованной формулы в нужную ячейку.

Остальные кнопки распределены по соответствующим функциям: десятичный разделитель, разделитель столбцов для формул массива и разделитель элементов списка.

Десятичным разделителем может быть точка или запятая.

Разделитель столбцов для формул массива

Этот разделитель используется в формулах массива.

Разделитель элементов списка

С английским языком в качестве десятичного разделителя обычно используется точка, а в качестве разделителя элементов списка — запятая. В некоторых европейских языках десятичным разделителем является запятая, а разделителем элементов списка другой символ, а именно точка с запятой. 

Мгновенно переводить выбранную ячейку

Если установлен флажок Мгновенно переводить выбранную ячейку в области Переводчик, надстройка будет пытаться перевести формулу в любой выбираемой ячейке. Она будет копировать формулу из выбранной ячейки в поле языка На и мгновенно переводить ее в поле языка С.

Функция Мгновенно переводить выбранную ячейку не поддерживается в Microsoft Excel 2013 и более ранних версий.

В режиме правки функция Мгновенно переводить выбранную ячейку не активна. При выходе из режима правки функция мгновенного перевода активируется снова.

Отзывы и предложения

Мы надеемся, что надстройка Переводчик функций поможет вам эффективнее работать с локализованными версиями Excel, и будем рады вашим отзывам. Сообщите нам о функциях, перевод которых можно улучшить, и поделитесь мнением о работе самой надстройки.

Если у вас есть предложения по поводу улучшения работы надстройки и локализации функций в общем, обязательно отправьте их нам!

Команда Переводчика функций, Мартин и Вадим

Примечание: Мы рассмотрим каждый отзыв индивидуально, но не можем гарантировать ответ на каждый отзыв. Не включайте в отзыв файлы, содержащие личные сведения.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Перевод текста в ячейках через Google

Внимание: периодически Google вводит ограничение и изменяет алгоритмы автоматического перевода (так же иногда для получения перевода необходимо вводить каптчу). Поэтому временами функция может не работать. Некоторое время назад можно было наблюдать это. Сейчас функция работает.

На днях проводил ревизию кодов и различных примеров в файлах и нашел довольно много интересного. В том числе функцию перевода текста из ячейки Excel на разные языки при помощи сервиса Google. Посмотрел и решил её переработать и оптимизировать, т.к. в том виде, в котором она была у меня она никуда не годилась: переводила коряво, т.к. Google поменял алгоритм в формат выходных данных. Плюс надо было решить вопрос некорректной замены различных символов внутри текста. Подозреваю, что и сейчас функция далеко не идеальна. Поэтому если у кого-то возникнут ошибки — пишите комментарии, попробуем разобраться.

Читать еще:  Как сделать регрессионный анализ в excel 2013?

Option Explicit ‘————————————————————————————— ‘ Procedure : GoogleTranslate ‘ DateTime : 04.09.2013 22:55 ‘ Author : The_Prist(Щербаков Дмитрий) ‘ http://www.excel-vba.ru ‘ Purpose : ‘ Функция переводит текст, используя сервис переводов Google Translate ‘ Аргументы: ‘ sText — текст для перевода. Непосредственно текст или ссылка на ячейку. ‘ sResLang — код языка, на который осуществлять перевод ‘ sSourceLang — код языка, с которого переводить. ‘ Если не указывать, Google автоматом определяет язык введенного текста ‘ Доступно 74 кода языков. ‘————————————————————————————— Dim objRegExp As Object Function GoogleTranslate(ByVal sText As String, ByVal sResLang As String, _ Optional ByVal sSourceLang As String = «») Dim sGoogleURL As String, sAllTxt As String, sTmpStr As String, sRes As String, sTextToTranslate As String Dim lByte As Long, alByteToEncode, li As Long Dim asTmp, lPos As Long ‘раскомментировать при необходимости пересчета функции при любом изменении в книге ‘Application.Volatile True If objRegExp Is Nothing Then Set objRegExp = CreateObject(«VBScript.RegExp») With objRegExp .MultiLine = True: .ignorecase = True: .Global = True .Pattern = «[n;]» End With End If sTextToTranslate = Application.Trim(objRegExp.Replace(sText, » «)) With CreateObject(«ADODB.Stream») .Charset = «utf-8»: .Mode = 3: .Type = 2: .Open .WriteText sTextToTranslate .Flush: .Position = 0: .Type = 1: .Read 3 alByteToEncode = .Read(): .Close End With ‘переводим текст в кодировку, понятную Google For li = 0 To UBound(alByteToEncode) lByte = alByteToEncode(li) Select Case lByte Case 32: sTmpStr = «+» Case 48 To 57, 65 To 90, 97 To 122: sTmpStr = Chr(alByteToEncode(li)) Case Else: sTmpStr = «%» & Hex(lByte) End Select sAllTxt = sAllTxt & sTmpStr Next li ‘формируем ссылку для Google sGoogleURL = «http://translate.google.com.ua/translate_a/t?client=json&text=» & _ sAllTxt & «&hl=» & sResLang & «&sl=» & sSourceLang sGoogleURL = Replace(sGoogleURL, «», «/») ‘» ‘получаем ответ от Google With CreateObject(«Microsoft.XMLHTTP») .Open «GET», sGoogleURL, «False»: .send If .statustext = «OK» Then sTmpStr = .responsetext ‘отбираем только переведенный текст asTmp = Split(sTmpStr, «<""trans"":""") For li = LBound(asTmp) To UBound(asTmp) lPos = InStr(1, asTmp(li), """,""orig"":", 1) If lPos Then sRes = sRes & Mid(asTmp(li), 1, lPos - 1) Next li If sRes = "" Then sRes = "Не удалось перевести" End If End With GoogleTranslate = sRes End Function

Выложенный выше код является функцией пользователя для вызова из ячейки листа.

Синтаксис функции:
с английского на русский (в A1 записан текст на английском — Google автоматом определяет язык):
=GoogleTranslate( A1 ;»ru»)
с английского на русский — текст задан константой:
=GoogleTranslate(«translation»; «ru»)

sText — текст для перевода. Непосредственно текст или ссылка на ячейку.
sResLang — код языка, на который осуществлять перевод.
sSourceLang — Необязательный аргумент. Указывается код языка, с которого переводить. Если не указывать, Google автоматом определяет язык введенного текста.

Всего доступно 74 языка:

  • en — английский
  • ru — русский
  • az — азербайджанский
  • sq — албанский
  • en — английский
  • ar — арабский
  • hy — армянский
  • af — африкаанс
  • eu — баскский
  • be — белорусский
  • bn — бенгальский
  • bg — болгарский
  • bs — боснийский
  • cy — валлийский
  • hu — венгерский
  • vi — вьетнамский
  • gl — галисийский
  • nl — голландский
  • el — греческий
  • ka — грузинский
  • gu — гуджарати
  • da — датский
  • iw — иврит
  • yi — идиш
  • id — индонезийский
  • ga — ирландский
  • is — исландский
  • es — испанский
  • it — итальянский
  • kn — каннада
  • ca — каталанский
  • zh-TW — китайский (традиционный)
  • zh-CN — китайский (упрощенный)
  • ko — корейский
  • ht — креольский (Гаити)
  • km — кхмерский
  • lo — лаосский
  • la — латынь
  • lv — латышский
  • lt — литовский
  • mk — македонский
  • ms — малайский
  • mt — мальтийский
  • mr — маратхи
  • de — немецкий
  • no — норвежский
  • fa — персидский
  • pl — польский
  • pt — португальский
  • ro — румынский
  • ru — русский
  • ceb — себуанский
  • sr — сербский
  • sk — словацкий
  • sl — словенский
  • sw — суахили
  • tl — тагальский
  • th — тайский
  • ta — тамильский
  • te — телугу
  • tr — турецкий
  • uk — украинский
  • ur — урду
  • fi — финский
  • fr — французский
  • hi — хинди
  • hmn — хмонг
  • hr — хорватский
  • cs — чешский
  • sv — шведский
  • eo — эсперанто
  • et — эстонский
  • jw — яванский
  • ja — японский

Добавил функцию перевода, которая получает текст перевода через Internet Explorer. Получается медленнее и не у всех сможет работать исключительно потому, что IE капризный и очень чувствителен к тому, какая его версия на какой ОС установлена. Но это больше исключение — в подавляющем большинстве случаев работать должно без проблем:

Option Explicit ‘————————————————————————————— ‘ Procedure : GoogleTranslate_IE ‘ DateTime : 12.04.2018 22:55 ‘ Author : The_Prist(Щербаков Дмитрий) ‘ Профессиональная разработка приложений для MS Office любой сложности ‘ Проведение тренингов по MS Excel ‘ http://www.excel-vba.ru ‘ info@excel-vba.ru ‘ WebMoney — R298726502453; Яндекс.Деньги — 41001332272872 ‘ Purpose : ‘ Функция переводит текст, используя сервис переводов Google Translate ‘ Аргументы: ‘ sText — текст для перевода. Непосредственно текст или ссылка на ячейку. ‘ sResLang — код языка, на который осуществлять перевод ‘ sSourceLang — код языка, с которого переводить. ‘ Если не указывать, Google автоматом определяет язык введенного текста ‘ Доступно 74 кода языков. ‘————————————————————————————— Dim IE As Object Function GoogleTranslate_IE(ByVal sText As String, _ Optional ByVal sResLang As String = «en», _ Optional ByVal sSourceLang As String = «auto») As String Dim isIEOpen As Boolean ‘подключаемся к InternetExplorer On Error Resume Next Set IE = GetObject(, «InternetExplorer.application») ‘IE еще не запущен — запускаем If IE Is Nothing Then Set IE = CreateObject(«InternetExplorer.application») ‘делаем окно IE скрытым IE.Visible = False End If ‘переходим на страницу перевода и указываем параметры IE.navigate «https://translate.google.com/#» & sSourceLang & «/» & sResLang & «/» & sText ‘ждем отклика от IE Do While IE.Busy Or IE.readyState <> 4 DoEvents Loop ‘получаем текст перевода GoogleTranslate_IE = IE.Document.getElementById(«result_box»).innerText ‘если IE не был запущен до вызова функции — закрываем If Not isIEOpen Then IE.Quit Set IE = Nothing End If End Function

Читать еще:  Как сделать свою надстройку в excel?

Функция будет работать быстрее, если перед переводом запустить InternetExplorer. Это заставит функцию использовать уже запущенный экземпляр IE, а не запускать для каждой ячейки новый(что отнимает немало времени).

Tips_Macro_GoogleTranslate.xls (53,5 KiB, 4 277 скачиваний)

Статья помогла? Поделись ссылкой с друзьями!

Функция перевода с одного языка на другой (с использованием Google Translate)

Данная VBA функция позволяет перевести текст с любого языка на другой
Язык исходного текста можно не указывать — Google распознает его самостоятельно.
(т.е. вызовы res$ = Translate(txt$, «en», «ru») и res$ = Translate(txt$, «en») равнозначны)

Список кодов доступных языков для перевода:
(используются в качестве параметров функции Translate)

ar — арабский; bg — болгарский; cs — чешский;
da — датский ; de — немецкий; el — греческий;
en — английский; es — испанский; fi — финский;
fr — французский; hi — хинди; hr — хорватский;
it — итальянский; ja — японский; ko — корейский;
nl — голландский; no — норвежский; pl — польский;
pt — португальский; ro — румынский; ru — русский;
sv — шведский; zh-cn — китайский упрощенный; zh-tw — китайский традиционный

Код функции перевода:

(добавлено позже)
Видоизменил функцию — теперь перевод снова работает
(пример использования — во втором прикреплённом файле)

  • 50449 просмотров

Комментарии

Макрос этот не будет дорабатываться, — там теперь все сложнее с гуглом, он сейчас выдаёт капчу.

Данный макрос используется в составе программы «парсер сайтов», — там я переделаю (доработаю) код.
А в виде отдельного макросы выкладывать не буду, — так как код стал намного сложнее из-за необходимости обработки капчи.

Если, в дальнейшем, появится необходимость разработать макрос перевода на базе другого веб-сервера (где не будет капчи),
то выложу новый макрос. (увы, кроме гугла, вариантов особо нет. остальные переводчики оставляют желать лучшего)

Ну очень нужно перевести информацию с тайского. Массив огромный, поэтому GoogleTranslate крайне необходим. Порекомендуйте, как решить проблему, где поискать, когда доработаете макрос? С искренним уважением.

Будем очень признательны!перевод может не работает и за смены протокола на HTTPS?

Гугл недавно что-то там у себя поменял — теперь макрос перевода не работает.
Если будет время свободное, — доработаю, выложу исправленную версию.

Вы еще не нашли решение?а то у меня тоже выдает такую ошибку, а макрос ссылается на ошибку «False»: XMLHTTP.send

При попытке перевода с любого языка на любой выдает ЗНАЧ. В чем может быть проблема? даже в вашем новом файле.

А в чем проблема перевода русский-украинский?
Гугл множество языков знает, — надо только указать соответствующие коды
Код русского языка — ru, код украинского — uk

разобрался, получилось, спасибо
но у меня вопрос — языки перевода укр-рус или наоборот, приходится сталкиваться

Вот к примеру на таком
[/url]。 「韓流ショップギルズハウス」というのは,[url=http://orob106.senmontenm.com/]オロビアンコ 財布
Но это только если использовать сам макрос, а не вставлять в ячейку.
Если вставим в пример в ячейку то получим [/ Url].

на строке
XMLHTTP.Open «GET», Replace(URL$, «», «/»), «False»: XMLHTTP.send
а именно XMLHTTP.send
выскакивает ошибка Run-time error ‘-2147467259 (80004005)’
как можно ее обойти, чтоб просто пропускать тогда ячейку?

Кстати, и всякие «сложные» символы обрабатываются некорректно (аксантегю в французком итп). В целом, применение в данном виде возможно только в очень узкой области.
Приходится все эти «е с штрихами» вначале на обычные e менять итп.
Мне не подошел из-за длины, часто режет.

Сергей, мой код ничего специально не обрезает.
Либо это ограничение Google, либо мой код некорректно обрабатывает ответ сервера.

Переводит, но почему-то только первые 100-200 символов. Т.е. переводы обрезаются.
Посмотрел по коду, не нашел где 🙁

Не знаю, в чем проблема.
У меня всё работает, — только что проверил прикреплённый файл GoogleTranslate_New.xls
Всё корректно переводится на разные языки.

Указанная вами фраза, — перевод на датский язык. Почему у вас так работает, — не знаю.

Игорь, очень интересная функция. Но не работает 🙁 Открыл Ваш файлик и во всех ячейках получил: «Denne funktion er oversat sætning i fremmedsprog ved hjælp af Google Translate tjeneste»
Видимо Гугл опять что-то поменял. Можете подправить? Заранее спасибо.

Игорь, спасибо за доработку очень полезной функции. Давно сюда не заглядывал, т.к. «мыло» об ответе на мой предыдущий вопрос почему-то не пришло.
Теперь UDF работает отлично даже из корпоративной сети, «кастрированный» проксями, файерволлами и антифирусами.
Одна проблема: если переводимый текст состоит из нескольких предложений, оканчивающихся в соответствии с правилами грамматики точкой, восклицательным или вопросительным знаками, то переводится только первое предложение. А всё остальное игнорируется 🙁
Например, из текста «Привет! Это функция перевода текста на иностранный язык», который брался в качестве примера в первом выложенном здесь варианте, на английский переведётся только «Hi!»
А если поставить вместо восклицательного знака запятую: «Привет, Это функция перевода текста на иностранный язык», то переведётся полностью :»Hi, This function translation into a foreign language»
Не хорошо это.
Может быть запрос можно как-то изменить?

Если нет, то придётся мне самому «допиливать» функцию (наверное, разобью дополнительной обвеской кодом текст на предложения, переведу по одному и сцеплю в результат полного перевода, хотя это, конечно, будут «протезы» )

В связи с тем, что прежняя функция Translate давно перестала работать,
внёс в неё заметные изменения.
(см. исправленный вариант функции перевода в конце статьи)

Во втором прикреплённом файле — работающий пример перевода текста на разные языки, с использованием сервиса Google Translate

С октября 2011 Google Translate ввел ограничения на машинный перевод через API-Google v1 и v2. На примере, приведенном выше, будет переведена лишь первая строка. А остальные — «не переведено». Они захотели денег. Теперь есть расценка за определенное число переводов. Нужно получить КЛЮЧ от Google, который необходимо добавлять в ЗАПРОС (в URL-адрес).

Кто работает через прокси-сервер, не запускайте файл примера — ЗАВЕСИТЕ ЁКСЕЛЬ НАДОЛГО!
Ёксель не будет реагировать ни на что пока пока не окончатся выходы по 10-секундному таймауту для каждой из 24-х функций на листе.

Пример использования этой функции на листе Excel — во вложении к статье.

Используется формула =Translate($C$1;B5)

Всеровно не разобрался куда вводить текст нужно.

Ссылка на основную публикацию
×
×
Adblock
detector