Translate excel file google translate

В Google Таблицах есть занятная функция, позволяющая переводить текст прямо в ячейках:

1

В этой статье расскажу, как ей пользоваться и как автоматически определять язык текста в ячейке.

Синтаксис функции следующий:

GOOGLETRANSLATE(text,[source_language],[target_language])

text — это текст, который нужно переводить. Можно, конечно, взять текст в кавычки и записать прямо в формулу, а можно сослаться на ячейку, в которой он содержится.

[source_language] — язык, с которого мы переводим;

[target_language] — соответственно, язык, на который мы переводим.

Второй и третий аргументы задаются двухзначным кодом: es, fr, en, ru. Их тоже можно указать в самой функции, но можно брать из ячейки, а язык исходного текста и вовсе можно автоматически определять.

Обратите внимание, что оба аргумента необязательные — если их не указать, перевод будет осуществляться на английский. Язык исходного текста будет определяться автоматически:

2

А как быть, если мы все-таки хотим переводить не на английский, а на разные языки? И при этом не хотим каждый раз указывать язык исходника вручную?

Тут пригодится функция DETECTLANGUAGE. У нее единственный аргумент — текст, язык которого нужно определить:

3

Осталось ее «внедрить» в функцию TRANSLATE. Укажем справа от текста, на какие языки хотим переводить исходный текст (в столбце B). В столбец C введем формулу GOOGLETRANSLATE. Первым аргументом будет текст в столбце A, вторым — функция DETECTLANGUAGE, которая определит, с какого языка переводить, а третья — код языка из столбца B.

4

Как и с любой другой функцией, прелесть здесь в автоматизации. Можно быстро поменять текст или язык; быстро перевести одну фразу на 10 языков и так далее. Конечно, мы понимаем, что это текст онлайн-переводчика — качество будет соответствующим.

Quel merveilleux tableau!

google translate

Translations are not a fascinating task for me. I once received a request to help out a colleague in translating an Excel file to English. Copy to Google Translate, translate, copy back to Excel and again… After going through part of the file we quickly extrapolated that the whole translation would take at least a whole day if done in this manner. I had to optimize this process as much as possible.

That’s when I thought of leveraging Google Translate to help with my localization efforts. Why translate stuff manually when we can put Excel to do the job for you.

Find below a quickly written VBA procedure that adds a shortcut to Excel to quickly translate any cell from one language to another. The below is a simple procedure you can easily pin to your Excel shortcuts (e.g. CTRL+K or similar). Simply select a certain Excel range and execute the TranslateCell procedure below.

Sub TranslateCell()
    Dim getParam As String, trans As String, translateFrom As String, translateTo As String
    translateFrom = "fr"
    translateTo = "en"
    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
    getParam = ConvertToGet(ActiveCell.Value)
    URL = "https://translate.google.pl/m?hl=" & translateFrom & "&sl=" & translateFrom & "&tl=" & translateTo & "&ie=UTF-8&prev=_m&q=" & getParam
    objHTTP.Open "GET", URL, False
    objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
    objHTTP.send ("")
    If InStr(objHTTP.responseText, "div dir=""ltr""") > 0 Then
        trans = RegexExecute(objHTTP.responseText, "div[^""]*?""ltr"".*?>(.+?)</div>")
        ActiveCell.Value = Clean(trans)
    Else
        MsgBox ("Error")
    End If
End Sub

'----Used functions----
Function ConvertToGet(val As String)
    val = Replace(val, " ", "+")
    val = Replace(val, vbNewLine, "+")
    val = Replace(val, "(", "%28")
    val = Replace(val, ")", "%29")
    ConvertToGet = val
End Function
Function Clean(val As String)
    val = Replace(val, "&quot;", """")
    val = Replace(val, "%2C", ",")
    val = Replace(val, "'", "'")
    Clean = val
End Function
Public Function RegexExecute(str As String, reg As String, _
                             Optional matchIndex As Long, _
                             Optional subMatchIndex As Long) As String
    On Error GoTo ErrHandl
    Set regex = CreateObject("VBScript.RegExp"): regex.Pattern = reg
    regex.Global = Not (matchIndex = 0 And subMatchIndex = 0) 'For efficiency
    If regex.Test(str) Then
        Set matches = regex.Execute(str)
        RegexExecute = matches(matchIndex).SubMatches(subMatchIndex)
        Exit Function
    End If
ErrHandl:
    RegexExecute = CVErr(xlErrValue)
End Function

How to setup Google Translate code in Excel?

Here you can find the full list of language 2 letter codes.

  • In the Excel Developer ribbon open Macros
  • Select the TranslateCell sub and go to Options
  • Add a shortcut: e.g. CTRL+SHIFT+T

How to use it?

  • Select any cell in Excel and click the configured shortcut e.g. CTRL+SHIFT+T

What if I want an UDF?

The procedure above can easily be converted to a User Defined Function (UDF) instead, allowing you to use it as a formula. Be sure to copy the required supporting functions (from the sections above) ConvertToGet, Clean and RegexExecute.

VBA UDF Google Translate

Public Function Translate(rng As Range, Optional translateFrom As String = "nl", Optional translateTo As String = "en")
    Dim getParam As String, trans As String, objHTTP As Object, URL As String
    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
    getParam = ConvertToGet(rng.Value)
    URL = "https://translate.google.pl/m?hl=" & translateFrom & "&sl=" & translateFrom & "&tl=" & translateTo & "&ie=UTF-8&prev=_m&q=" & getParam
    objHTTP.Open "GET", URL, False
    objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
    objHTTP.send ("")
    If InStr(objHTTP.responseText, "div dir=""ltr""") > 0 Then
        trans = RegexExecute(objHTTP.responseText, "div[^""]*?""ltr"".*?>(.+?)</div>

")
        Translate = Clean(trans)
    Else
        Translate = CVErr(xlErrValue)
    End If
End Function

How to use the Translate UDF?

See an example below of how to translate text in cell A1 from French (fr) to English (en):

=TRANSLATE("A1","fr","en")

What if I want it to run on all selected cells?

Here is a modification of the function above to run on ALL selected cells:

Sub TranslateCell()
    Dim getParam As String, trans As String, translateFrom As String, translateTo As String
    translateFrom = "pl"
    translateTo = "en"
    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
    Dim r As Range, cell As Range
    Set cell = Selection
    For Each cell In Selection.Cells
        getParam = ConvertToGet(cell.Value)
        URL = "https://translate.google.pl/m?hl=" & translateFrom & "&sl=" & translateFrom & "&tl=" & translateTo & "&ie=UTF-8&prev=_m&q=" & getParam
        objHTTP.Open "GET", URL, False
        objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
        objHTTP.send ("")
        If InStr(objHTTP.responseText, "div dir=""ltr""") > 0 Then
            trans = RegexExecute(objHTTP.responseText, "div[^""]*?""ltr"".*?>(.+?)</div>")
            cell.Value = Clean(trans)
        Else
            MsgBox ("Error")
        End If
    Next cell
End Sub

Image of Lance Whitney

on

January 5, 2022, 11:31 AM PST

How to use Google Translate to translate your Microsoft Office documents

Google’s online translator can step in to translate your Office documents for free. Now you can read documents from all over the world with the click of a button.


We may be compensated by vendors who appear on this page through methods such as affiliate links or sponsored partnerships. This may influence how and where their products appear on our site, but vendors cannot pay to influence the content of our reviews. For more info, visit our Terms of Use page.

Image: Andy Wolber / TechRepublic

Google Translate is available as a website, a mobile app and a feature built into Google Docs. But you can also use the online version to translate external documents saved on your computer. The Google Translate webpage supports Word documents, Excel spreadsheets and PowerPoint presentations. After choosing the source and target languages, you point to the file you want translated, and Google takes care of the rest. Let’s see how this works.

SEE: 6 tips for expanding your SMB internationally (TechRepublic)

Open the Google Translate webpage in your browser. Click on the current source and target languages if you need to change them. Click the down arrow to access the full selection of languages. You can also set the source language to automatically be detected, but you may get more accurate results by specifying the language (Figure A).

Figure A

Next, you can simply copy and paste the text you want translated into the window for the source language. But the idea here is to translate an entire document. Click the Documents button and then select the option for Browse Your Computer. You can choose from a variety of Microsoft Office file types, including .doc, .docx, .odf, .pdf, .ppt, .pptx, .ps, .rtf, .txt, .xls and .xlsx (Figure B).

Figure B

Select the document you want translated. Let’s try a Word document in this case. Then click the Translate button (Figure C).

Figure C

The translated version appears on the website. To compare the translation with the original text, hover your mouse over each paragraph. A small window pops up showing the text in the source language (Figure D).

Figure D

If you’re familiar with the target language and feel the translation contains some errors, click the link for Contribute a Better Translation. You can then fix any words in the translation that are inaccurate (Figure E).

Figure E

To translate another file, click the back arrow to return to the Google Translate site. Click the button for Browse Your Computer to select a different file, maybe an Excel spreadsheet. Then click the Translate button. The translated spreadsheet appears. Again, hover over any translated paragraph to see the original text (Figure F).

Figure F

Finally, try translating a PowerPoint presentation. Open the file in the Google Translate site and click the Translate button. The text from the file appears in the translated language. Hover over a translated section to compare it with the source language (Figure G).

Figure G

Also See

  • How to translate documents into different languages with Google Docs (TechRepublic)

  • How to use Apple’s Translate app to translate a real-time conversation (TechRepublic)

  • How to view translations of foreign websites on your iPhone or iPad (TechRepublic)

  • How to use the translation tools in iOS 14 for easier communication and website translation (TechRepublic)

  • Why Wearable Translator 2 earbuds are a must-have for travelers (TechRepublic)

  • Checklist: Securing Windows 10 systems 
    (TechRepublic Premium)

  • More must-read Microsoft coverage
    (TechRepublic on Flipboard)

  • Google

  • Microsoft

  • Software

  • Перевод в Excel с помощью API Deepl
  • Перевод текста через Google Translate
    • Бесплатный перевод с Google Translate
    • Платный API Google Translate
    • Бесплатная Функция GTranslate
    • Таблица обозначений языков для перевода Google
  • F. A. Q.

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

В Excel есть встроенный переводчик от Microsoft, но со своими причудами. Например, перевести можно только одну ячейку, а что делать, когда их сотни?

Можно попытаться использовать возможности VBA для использования онлайн-переводчиков в Excel. Сервисы предоставляют API для подобных задач.

Deepl — это сервис перевода, основанный на глубоком (машинном) обучении и нейросетях. Нетрудно догадаться из названия (Deep Learning – глубокое обучение).

Deepl — заслуженно крутой переводчик, качество перевода точно не уступает и часто превосходит конкурентов (а это, на минуточку, Google, Microsoft и другие гиганты, чей бизнес изначально был построен на текстовом анализе). О том, что их перевод лучше остальных, основатели проекта не скромничают на своём сайте. И с ними нельзя не согласиться — качество переведенного текста и в самом деле практически не требует дополнительной редактуры.

Deepl популярен в среде SEO-специалистов, которые локализуют тексты с его помощью. Есть подозрения, что Google может пессимизировать тексты, переведенные им же самим, это еще один довод в пользу сторонних решений.

Deepl позволяет выбирать формальность перевода (в языках где это есть, например, в русском яркий пример Ты-Вы).

К сожалению, сейчас Deepl доступен далеко не во всех странах – нужна карточка, выпущенная банком стран EU, US, Японии и еще нескольких стран.
Но если вам нужен действительно качественный перевод – вас это вряд ли остановит.

Поддержка перевода с помощью бесплатного и платного API Deepl появилась в !SEMTools 17 февраля 2023г.

переводим текст с русского на английский в Excel с помощью Deepl

Переводим в Excel с русского на английский текст документации Deepl

Перевод текста через Google Translate

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

А что, если бы можно было пользоваться Google Translate прямо в Excel?

Это было бы просто замечательно! Поэтому я и реализовал в !SEMTools функции и процедуры для перевода текста на популярные языки.

Бесплатный перевод с Google Translate

Использовать процедуры несколько удобнее, чем функции, т.к. все действия осуществляются парой кликов мыши. Доступен перевод с русского на 6 популярных языков и обратно. Здесь используется бесплатная веб-версия переводчика, подходит для перевода небольших объемов текста.

Для редких случаев перевода с иностранного на иностранный можно воспользоваться отдельной процедурой с выбором языка. Она поддерживает выбор 12 наиболее популярных языков и доступна в полной версии !SEMTools.

Инструменты перевода текста в Excel (!SEMTools)

Перевод текста в Excel

Платный API Google Translate

У многих при использовании бесплатной версии переводчика возникают проблемы с превышением бесплатных лимитов. Разумеется, Google не готов абсолютно бесплатно делиться столь сложным в разработке и полезным инструментом, поэтому ограничивает “недобросовестное” использование бесплатной версии сервиса.

Альтернатива – это возможность пользоваться сервисом через платный API.

Но на текущий момент (2023 г.) Google предоставляет перевод первых 500.000 знаков бесплатно! Нужно только подключить платежный профиль, но первые 500.000 знаков деньги расходоваться не будут.

Для тех, кому нужно переводить многие сотни строк текста и многие тысячи знаков, инструмент будет очень полезен. Поддержка платного API доступна с версии 10.23.14 (февраль 2023 г.), только в полной версии надстройки.

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

Для активации токена в меню присутствует отдельная процедура:

процедура активации Google Translate API токена

После активации токена процедуры будут переводить текст в любых объемах, но будьте внимательны и следите за превышением начальной квоты в 500.000 знаков, и дальнейшим расходом средств (хотя расценки Google вполне скромные). Вся информация доступна на дашборде Google Cloud.

Как получить токен

Чтобы получить токен API Google Translate, вам потребуется:

  • Зарегистрировать Google аккаунт
  • Перейти в Google Cloud Console: https://console.cloud.google.com/apis/dashboard
  • Создать там аккаунт и подключить биллинг (потребуется зарубежная карта)
  • Активировать Cloud Translation API
  • Найти токен на вкладке Credentials: https://console.cloud.google.com/apis/api/translate.googleapis.com/credentials

Бесплатная Функция GTranslate

Функция доступна всем бесплатно – нужно только скачать !SEMTools и подключить надстройку к вашему Excel.

Синтаксис функции аналогичен таковому в Google Spreadsheets:

=GTranslate(A1;"en";"ru")

Преимущество перед самими “гуглодоками” в том, что Spreadsheets зависнут и перестанут отдавать перевод раньше.

С функциями можно использовать любой язык из предложенных на сервисах. Используется “бесплатная” версия перевода, что означает небольшие лимиты на количество строк и знаков.

Таблица обозначений языков для перевода Google

Afrikaans af Galician gl Latin la Sesotho st
Albanian sq Georgian ka Latvian lv Shona sn
Amharic am German de Lithuanian lt Sindhi sd
Arabic ar Greek el Luxembourgish lb Sinhala (Sinhalese) si
Armenian hy Gujarati gu Macedonian mk Slovak sk
Azerbaijani az Haitian Creole ht Malagasy mg Slovenian sl
Basque eu Hausa ha Malay ms Somali so
Belarusian be Hawaiian haw (ISO-639-2) Malayalam ml Spanish es
Bengali bn Hebrew he or iw Maltese mt Sundanese su
Bosnian bs Hindi hi Maori mi Swahili sw
Bulgarian bg Hmong hmn (ISO-639-2) Marathi mr Swedish sv
Catalan ca Hungarian hu Mongolian mn Tagalog (Filipino) tl
Cebuano ceb (ISO-639-2) Icelandic is Myanmar (Burmese) my Tajik tg
Chinese (Simplified) zh-CN or zh (BCP-47) Igbo ig Nepali ne Tamil ta
Chinese (Traditional) zh-TW (BCP-47) Indonesian id Norwegian no Telugu te
Corsican co Irish ga Nyanja (Chichewa) ny Thai th
Croatian hr Italian it Pashto ps Turkish tr
Czech cs Japanese ja Persian fa Ukrainian uk
Danish da Javanese jv Polish pl Urdu ur
Dutch nl Kannada kn Portuguese (Portugal, Brazil) pt Uzbek uz
English en Kazakh kk Punjabi pa Vietnamese vi
Esperanto eo Khmer km Romanian ro Welsh cy
Estonian et Korean ko Russian ru Xhosa xh
Finnish fi Kurdish ku Samoan sm Yiddish yi
French fr Kyrgyz ky Scots Gaelic gd Yoruba yo
Frisian fy Lao lo Serbian sr Zulu zu

F. A. Q.

Можно ли сделать собственный переводчик в Excel?

Можно составить словарь слов и их аналогов на другом языке – по тому же принципу, как это сделано в моей процедуре лемматизации. Но пословный перевод редко получается корректным.
Например, фразовые глаголы в английском языке уже приносят страдания тем, кто их учит, т.к. два слова рядом переводятся совсем не так, как по отдельности.
Словоформы глаголов в русском языке зависят от рода субъекта, а в английском – нет.
Нужно переводить не только слова, но и фразы, определяя контекст и взаимоотношения слов. Более того, одни и те же сочетания могут по разному переводиться в зависимости от пунктуации – ее тоже нужно учитывать.
Все это делает задачу составления собственного переводчика очень сложной. Гораздо проще воспользоваться готовыми решениями.

Подходит ли бесплатный функционал для объемов в тысячи строк?

Нет. Если попытаться перевести сотни строк и тысячи-десятки тысяч слов одновременно, Google наложит временный бан на IP. Как правило, это несколько часов.
Для перевода в промышленных масштабах нужно использовать платный API.

Будет ли в !SEMTools включена поддержка других API (например, Deepl)?

Да, другие API также планируются.

Нужно перевести текст в Excel? Установите надстройку !SEMTools и переводите любые объемы текста на нужный вам язык!

Понравилась статья? Поделить с друзьями:
  • Top of the word перевод
  • Training essentials for excel
  • Translate english into russian words and word combinations with the english
  • Top of the word hats
  • Training classes for excel