- Перевод в 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г.
Перевод текста через Google Translate
Google Translate — замечательный продукт. Перевод с его помощью довольно качественный и при этом моментальный. Но у веб-интерфейса есть свои недостатки. Например, ограничения по количеству знаков.
А что, если бы можно было пользоваться Google Translate прямо в Excel?
Это было бы просто замечательно! Поэтому я и реализовал в !SEMTools функции и процедуры для перевода текста на популярные языки.
Бесплатный перевод с Google Translate
Использовать процедуры несколько удобнее, чем функции, т.к. все действия осуществляются парой кликов мыши. Доступен перевод с русского на 6 популярных языков и обратно. Здесь используется бесплатная веб-версия переводчика, подходит для перевода небольших объемов текста.
Для редких случаев перевода с иностранного на иностранный можно воспользоваться отдельной процедурой с выбором языка. Она поддерживает выбор 12 наиболее популярных языков и доступна в полной версии !SEMTools.
Платный API Google Translate
У многих при использовании бесплатной версии переводчика возникают проблемы с превышением бесплатных лимитов. Разумеется, Google не готов абсолютно бесплатно делиться столь сложным в разработке и полезным инструментом, поэтому ограничивает “недобросовестное” использование бесплатной версии сервиса.
Альтернатива – это возможность пользоваться сервисом через платный API.
Но на текущий момент (2023 г.) Google предоставляет перевод первых 500.000 знаков бесплатно! Нужно только подключить платежный профиль, но первые 500.000 знаков деньги расходоваться не будут.
Для тех, кому нужно переводить многие сотни строк текста и многие тысячи знаков, инструмент будет очень полезен. Поддержка платного API доступна с версии 10.23.14 (февраль 2023 г.), только в полной версии надстройки.
Если вы еще не прописали ваш персональный 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 и переводите любые объемы текста на нужный вам язык!
В этой статье вы настроили и использовали надстройки Excel Переводчик функций. Функция Переводчик ориентирована на людей, которые используют версии Excel на разных языках, и требуют помощи в поиске нужной функции на нужном языке или даже переводе целых формул с одного языка на другой.
Переводчик функций
-
Помогает пользователям, знакомым с английскими функциями Excel, продуктивно работать с локализованными версиями Excel.
-
Позволяет пользователям полностью переводить формулы на родной язык.
-
Поддерживает все локализованные языки и функции Excel (80 языков и 800 функций).
-
Обеспечивает эффективный поиск любой части имени функции на обоих выбранных языках.
-
Отображает прокручиваемый список по категориям для английских функций и соответствующие локализованные функции.
-
Позволяет отправить корпорации Майкрософт отзыв о качестве перевода функций. Вы можете оставить отзыв о той или иной функции на любом из доступных языков.
-
Локализован на английский, датский, немецкий, испанский, французский, итальянский, японский, корейский, нидерландский, португальский (Бразилия), русский, шведский, турецкий и китайский (традиционное письмо и набор сложных знаков) языки.
Установка надстройки «Переводчик функций»
Надстройка Переводчик функций доступна бесплатно в Microsoft Store. Чтобы установить ее, выполните указанные ниже действия.
-
Запустите приложение Microsoft Excel.
-
Перейдите на вкладку Вставка.
-
Нажмите кнопку Магазин на ленте.
-
Откроется диалоговое окно «Надстройки Office». В верхней части окна выберите пункт Магазин, а слева — Производительность.
-
Введите в поле поиска запрос Functions Translator.
-
Нажмите зеленую кнопку Добавить справа от найденной надстройки «Переводчик функций». Она будет установлена.
Настройка Переводчика функций
После установки надстройки Переводчик функций на вкладке Главная справа появятся две новых кнопки.
Они открывают в диалоговом окне Переводчик функций области Справочник и Переводчик соответственно. Исключением является первый запуск надстройки Переводчик функций — в этом случае открывается область Добро пожаловать:
Рабочая область Переводчика функций всегда открывается в правой части Excel.
Вы можете перейти непосредственно к переводу, щелкнув ссылку Пропустить > в правом верхнем углу, но мы рекомендуем нажать кнопку Приступим, чтобы перейти в диалоговое окно языковых параметров. Здесь вы можете выбрать языки С и На по умолчанию (их можно изменить в любое время).
Здесь вы можете указать языковые параметры. Хотя Переводчик функций поддерживает все языки, на которые локализованы функции Excel, в каждом случае вы можете использовать только пару из них. Доступно любое сочетание языков, и приложение Excel запомнит ваш выбор. Вы в любое время можете изменить языковую пару в области Настройки, которую можно открыть во всех основных областях Переводчика функций.
По умолчанию в качестве языка «С» и «На» будут заранее заполнены английский язык с языком «От», а языком установки Excel языком «На». Если язык установки является одним из языков, локализованных для Переводчик,пользовательский интерфейс будет отображаться на локализованных языках. Выберите языковую пару, нажав кнопку Начать работу.
В переводчике используются параметры С и На. С — это язык, который вы знаете, На — это язык, перевод на который вам нужен. Так, если вы используете для поиска функций английский язык, но хотите найти их имена на французском языке, то для параметра С нужно выбрать английский язык, а для параметра На — французский.
С помощью зеленой кнопки Стрелка вверх/стрелка вниз между параметрами «С» и «На» можно менять языки С и На местами.
Настройки
Вы можете открыть область Настройки, щелкнув значок настроек в правом нижнем углу любой из трех основных областей.
Кроме того, вы можете в любое время изменить языки На и От, которые могут быть вам интересны. Если щелкнуть стрелку влево в верхней части области, вы вернетсяе в главную.
Область «Справочник»
В области Справочник есть раскрывающийся список Категория функций, с помощью которого можно отобразить все функции в указанной категории для языков С (слева) и На (справа). Если вы не знаете, к какой категории относится функция, можно использовать параметр Все.
По умолчанию функции сортируются в алфавитном порядке языка С (в данном случае английского), рядом с которым отображается маленькая стрелка вниз. Вы можете сортировать функции в обычном или обратном алфавитном порядке, а также выбирать язык сортировки (С или На). Просто щелкните название языка, по которому нужно отсортировать функции, а для сортировки в обратном порядке щелкните его еще раз. Стрелка указывает направление сортировки.
Щелкните имя функции в одном из столбцов, чтобы открыть область Словарь с кратким описанием функции.
Область «Словарь»
В области Словарь можно искать любые части имени функции, отображая все функции, содержащие введенные буквы. По соображениям производительности поиск не будет заполнять результаты, пока вы не ввели хотя бы две буквы. Поиск будет искаться в выбранной языковой паре и возвращать результаты для обоих языков.
Обнаружив нужное имя функции, вы можете щелкнуть его, чтобы отобразить языковую пару и определение функции. Если щелкнуть имя функции в области Справочник, также откроется область Словарь с указанием языковой пары и описания функции.
Примечания:
-
У некоторых функций нет описаний.
-
Описания функций предоставляются только на английском языке.
-
Чтобы посмотреть локализованное описание, перейдите на вкладку «Формулы», щелкните нужную категорию функций и наведите указатель мыши на требуемую функцию. В Excel отобразится описание функции на языке установки.
Щелкните значок лампочки в области Словарь, чтобы открыть область Отзыв о переводе, где вы можете оставить отзыв об определенном переводе.
Область «Переводчик»
В области Переводчик можно полностью перевести формулу с одного языка на другой. Ниже приведен пример области Переводчик, где формула переведена с английского языка на французский:
Верхнее поле предназначено для языка С, нижнее — для языка На. Две зеленые кнопки со стрелками между этими полями выполняют перевод в указанном направлении. В примере мы вставили формулу в поле для языка С и нажали кнопку со стрелкой вниз, чтобы перевести формулу на французский язык.
Ручная настройка разделителей
В функциях Excel для разделения диапазонов и аргументов используются разделители. В каждом языке используются свои разделители, и Переводчик функций пытается подобрать нужный вариант, но иногда разделители следует выбирать вручную.
Под полями для языков «С» и «На» отображаются показанные выше кнопки. Первая кнопка вставляет текст из поля выше в активную ячейку. Эту кнопку можно использовать для вставки локализованной формулы в нужную ячейку.
Остальные кнопки распределены по соответствующим функциям: десятичный разделитель, разделитель столбцов для формул массива и разделитель элементов списка.
-
Десятичный разделитель
-
Десятичным разделителем может быть точка или запятая.
-
-
Разделитель столбцов для формул массива
-
Этот разделитель используется в формулах массива.
-
-
Разделитель элементов списка
-
С английским языком в качестве десятичного разделителя обычно используется точка, а в качестве разделителя элементов списка — запятая. В некоторых европейских языках десятичным разделителем является запятая, а разделителем элементов списка другой символ, а именно точка с запятой.
-
Мгновенно переводить выбранную ячейку
Если установлен флажок Мгновенно переводить выбранную ячейку в области Переводчик, надстройка будет пытаться перевести формулу в любой выбираемой ячейке. Она будет копировать формулу из выбранной ячейки в поле языка На и мгновенно переводить ее в поле языка С.
Примечания:
-
Функция Мгновенно переводить выбранную ячейку не поддерживается в Microsoft Excel 2013 и более ранних версий.
-
В режиме правки функция Мгновенно переводить выбранную ячейку не активна. При выходе из режима правки функция мгновенного перевода активируется снова.
Отзывы и предложения
Мы надеемся, что надстройка Переводчик функций поможет вам эффективнее работать с локализованными версиями Excel, и будем рады вашим отзывам. Сообщите нам о функциях, перевод которых можно улучшить, и поделитесь мнением о работе самой надстройки.
Если у вас есть предложения по поводу улучшения работы надстройки и локализации функций в общем, обязательно отправьте их нам!
Команда Переводчика функций, Мартин и Вадим
fxlator@microsoft.com
Примечание: Мы рассмотрим каждый отзыв индивидуально, но не можем гарантировать ответ на каждый отзыв. Не включайте в отзыв файлы, содержащие личные сведения.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Хитрости »
7 Сентябрь 2013 101490 просмотров
Внимание: периодически Google вводит ограничение и изменяет алгоритмы автоматического перевода (так же иногда для получения перевода необходимо вводить каптчу). Поэтому временами функция может не работать. Некоторое время назад можно было наблюдать это. Сейчас функция работает.
На днях проводил ревизию кодов и различных примеров в файлах и нашел довольно много интересного. В том числе функцию перевода текста из ячейки Excel на разные языки при помощи сервиса Google. Посмотрел и решил её переработать и оптимизировать, т.к. в том виде, в котором она была у меня она никуда не годилась: переводила коряво, т.к. Google поменял алгоритм в формат выходных данных. Плюс надо было решить вопрос некорректной замены различных символов внутри текста. Подозреваю, что и сейчас функция далеко не идеальна. Поэтому если у кого-то возникнут ошибки — пишите комментарии, попробуем разобраться.
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
Функция будет работать быстрее, если перед переводом запустить InternetExplorer. Это заставит функцию использовать уже запущенный экземпляр IE, а не запускать для каждой ячейки новый(что отнимает немало времени).
Скачать пример:
Tips_Macro_GoogleTranslate.xls (53,5 KiB, 6 462 скачиваний)
Так же см.:
Транслит — Перевод с транслита и обратно
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика
Переводит содержимое указанной ячейки с одного языка на другой, используя онлайн-переводчик Google
Синтаксис
=Translate(Text; FromLang; ToLang)
где:
- Text – исходная ячейка с текстом для перевода
- FromLang – текстовый двухбуквенный код языка, с которого производится перевод (т.е. язык исходного текста), например «ru», «en», «es», «fr» и т.д.
- ToLang – текстовый двухбуквенный код языка, на который нужно перевести.
Подсмотреть необходимые коды языков можно на странице Google Переводчика в адресной строке после выбора нужных языков в форме:
Примечания
Естественно, данная функция требует подключения к интернету и при его отсутствии выдает ошибку.
При использовании в большом количестве ячеек одновременно, может вызывать замедление работы, т.к. будет выполнять много одновременных запросов. В этом случае рекомендуется заменять формулы на значения при помощи специальной вставки или инструмента В значения.
Полный список всех инструментов надстройки PLEX
Содержание
- 1 Перевод с помощью Microsoft Translator
- 2 Реализация Яндекс переводчика в Excel
- 3 Способ 1. Формула
- 4 Способ 2. Формат ячеек
- 5 Первый способ транслитерировать русский текст
- 6 Второй способ перевода русского текста в транслит в Excel с помощью пользовательской функции
Знаете ли вы, что в Excel реализован инструмент перевода текста на другой язык. С помощью мини-переводчика вы можете перевести фразу, абзац или весь файл, написанный на другом языке. Данный элемент использует функционал программы Microsoft Translator, который по умолчанию содержится в офисных приложениях Microsoft. В сегодняшней статье я опишу, как воспользоваться данным функционалом. Помимо этого, мы рассмотрим, как с помощью функций ВЕБСЛУЖБА и ФИЛЬТР.XML реализовать Яндекс переводчик в нашей Excel книге.
Перевод с помощью Microsoft Translator
Итак, у вас имеется текст, который необходимо перевести на другой язык. В нашем случае, я хочу перевести текст, находящийся в ячейках A1:A3 с русского на английский. Переходим во вкладку Рецензирование в группу Язык, щелкаем по кнопке Перевод. В правой части книги появится панель Справочные материалы, в которой необходимо указать переводимый текст и языки исходный и на который перевести.
Чтобы задать текст для перевода, есть два пути. Первый, банальный, ручками набиваем текст в поле Искать, указываем язык перевода, жмем кнопку со стрелкой, слева от поля, ждем пару секунд пока Microsoft Translator подберет нужные слова и наслаждаемся результатом перевода в этой же панельке.
Второй вариант более технологичный и предполагает, что текст, который требуется перевести, уже имеется на листе. Для этого, удерживая клавишу Alt, щелкаем по ячейке с переводимым текстом, в поле Искать панели Справочные материалы вы увидите фразу с выбранной ячейки, а ниже ее перевод. Если вы нажмете кнопку Вставить, находящуюся под переводом, 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 для сокращения записей (например, запись вида 123 456 руб. в 123,4 тыс. руб.).
Приветствую всех, уважаемые читатели блога TutorExcel.Ru.
Проблема наглядной визуализации данных всегда остро стоит перед любым пользователем программы Excel — сегодня мы остановимся на аспектах отображения чисел с выделением размерности.
К примеру, при виде числа 123 456 789 не сразу сообразишь что это за число, а уж при виде большой таблицы с подобными числами глаза точно устанут и таблица станет не читаемой.
Проблему с округлением чисел мы можем решить 2 способами:
- Формула. Непосредственное деление содержимого ячейки на требуемый делитель (тысяча, миллион, миллиард и т.д.);
- Формат. Изменения отображения ячейки с помощью настройки формата ячейки.
Начнем с более очевидного и простого варианта.
Способ 1. Формула
Чтобы перевести числа в тысячи, нужно эти числа разделить на тысячу.
Достаточно очевидный факт, тем не менее именно в простоте и заключается суть применения варианта с формулами.
Возьмем таблицу с произвольными числами (продублируем данные в соседний столбец B для более понятного пояснения):
Оставим столбец A неизменным, а работать будем со столбцом B.
Запишем в любую неиспользуемую ячейку число 1 000 (или 1 000 000, в зависимости от порядка, который мы хотим показать).
Копируем данную ячейку, а затем выделяем диапазон ячеек (ячейки B2:B10), где будем менять размерность.
Воспользуемся инструментом Специальная вставка — щелкаем правой кнопкой мыши по выделенному диапазону и выбираем Специальную вставку (либо воспользуемся сочетанием клавиш Ctrl+Alt+V):
В появившемся окошке в разделе Операция выбираем Разделить и щелкаем на ОК, в результате получаем (для наглядности я добавил еще 1 знак после запятой):
Минус данного способа в том, что операцией деления мы меняем содержимое ячеек, что не всегда удобно и возможно.
Теперь перейдем к рассмотрению более сложного, однако более гибкого и красивого варианта.
Способ 2. Формат ячеек
Помимо изменения самих ячеек, мы можем менять и их формат отображения.
К тому же, если перед нами стоит задача, например, перевести рубли в тысячи рублей, то мы сможем это сделать только данным способом (так как предыдущий способ меняет само число, но подпись оставляет неизменной).
Рассмотрим такую же таблицу, что и в примере выше, аналогично выделяем диапазон с данными (B2:B10), щелкаем правой кнопкой мыши и переходим в Формат Ячеек.
Во вкладке Число в разделе Числовые форматы выбираем (все форматы), в правой части окна показывается как будет отображаться ячейка, в моем случае маска отображения «# ##0».
Для того, чтобы сделать число в тысячах добавим 1 пробел в конце записи числа в маске — «# ##0 » (для миллиона 2 подряд пробела и т.д.), нажимаем ОК и получаем аналогичный результат.
Если нужно добавить в запись «тыс. руб.», то в формат маски записываем «# ##0,0 » тыс. руб.»», т.е. ставим пробел именно после записи формата числа (до добавления текстовой записи, а не после):
Скачать файл с примером.
Спасибо за внимание!
Если у вас есть мысли или вопросы по теме статьи — делитесь в комментариях.
Удачи вам и до скорых встреч на страницах блога TutorExcel.Ru!
Очень часто требуется преобразовать русский текст (кириллицу) в английский (транслит), не перевести, а написать русские слова английскими буквами.
Такое, например, может понадобиться для импорта данных в какую-нибудь программу, базу данных, которая не поддерживает русские буквы. Задача распространенная, но стандартными средствами Excel не решается.
Мы предлагаем вам два варианта решения данной задачи.
Первый способ транслитерировать русский текст
Первый способ транслита русского текста достаточно топорный — с использованием приложения Punto Switcher от Яндекс.
Скачиваем программу Punto Switcher на официальном сайте:
Punto Switcher — программа, которая автоматически переключает раскладку клавиатуры. Она знает, что «ghbdtn» — это «привет», а «пщщв ьщктштп» — это «good morning».
Так вот, данная программа, помимо своей основной функции можете переводить текст в транслит, менять регистр выделенного текста (сделать из «иванов» в «ИВАНОВ») и другое.
Устанавливаем программу себе на компьютер, в системном трее должен появится значок программы
Если зайти в настройки (правой кнопкой мыши по значку, выбрать настройки, горячие клавиши), то можно увидеть, что по умолчанию установлено переводить текст в транслит с помощью горячих клавиш Alt+Scroll Lock
К сожалению, в самом Excel программа транслитерировать текст не сможет, необходимо промежуточное действие. Копируем столбец с русскими буквами, открываем блокнот на компьютере (Notepad) и вставляем туда текст, далее выделяем текст в блокноте и нажимаем клавиши Alt+Scroll Lock, текст автоматически поменяется на транслит.
Далее вы просто копируете этот текст и вставляете обратно в Excel.
Это удобно если нужно например перевести в translit, например один объемный столбец данных на русском языке, но иногда преобразование текста в транслит требуется с помощью формул Excel, поэтому рассмотрим второй способ с использованием пользовательской функции Excel, написанной на VBA
Второй способ перевода русского текста в транслит в Excel с помощью пользовательской функции
Есть специальный макрос для создания пользовательской функции.
Function Translit(Txt As String) As String Dim Rus As Variant Rus = Array("а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", _ "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", _ "щ", "ъ", "ы", "ь", "э", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", _ "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", _ "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я") Dim Eng As Variant Eng = Array("a", "b", "v", "g", "d", "e", "jo", "zh", "z", "i", "j", _ "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "kh", "ts", "ch", _ "sh", "sch", "''", "y", "'", "e", "yu", "ya", "A", "B", "V", "G", "D", _ "E", "JO", "ZH", "Z", "I", "J", "K", "L", "M", "N", "O", "P", "R", _ "S", "T", "U", "F", "KH", "TS", "CH", "SH", "SCH", "''", "Y", "'", "E", "YU", "YA") For I = 1 To Len(Txt) с = Mid(Txt, I, 1) flag = 0 For J = 0 To 65 If Rus(J) = с Then outchr = Eng(J) flag = 1 Exit For End If Next J If flag Then outstr = outstr & outchr Else outstr = outstr & с Next I Translit = outstr End Function
Переключите раскладку на русский язык!! Копируем данный код, открываем среду VBA, для это нажмите правой кнопкой на активный лист и выберите пункт «Исходные данные», либо нажмите Alt+F11 далее через меню выберите новый программный модуль (Insert — Module)
и в открывшееся окно вставляете данный код и закрываете это окно.
После этого в любом месте данного листа (а при вставке кода с помощью Insert — Module — в любом месте данной книги) вы сможете использовать пользовательскую функцию, которую можно вызвать выбрав:
Вставка — Функция (Insert — Function)
в Excel 2013 Функция — Вставить функцию
Выбираем Категория: определенные пользователем, в данном списке должна появится наша функция Translit
Можно просто в нужной ячейке набрать =Transit (ссылка_на_русский_текст)
После этого протягиваем формулу и получаем нужный нам результат.
Если вы присмотритесь в полученный результат, то увидите, что данные немного отличаются, например
Ivanov Sergej Petrovich и Ivanov Sergey Petrovich
то есть буква «й» преобразовалась по-разному, если для вас это критично, то нужно будет немного поменять указанный выше код. В коде есть две таблицы — одна на русском языке, другая латиницей. Не трудно догадаться, что вам необходимо поменять нужные вам буквы. В данном случае в коде нужно найти «j» и поменять на «y», если требуется, то по аналогии поступаем с другими буквам.
Важно!
- Начиная с Excel 2007 не забудьте сохранить файл в формате поддержки макросов — xlsm, иначе макрос не сохранится;
- Данный макрос необходимо вставлять в каждую отдельную книгу, в которой вы хотите, чтобы он работал;
- Иногда требуется, чтобы была не встроенная функция, а макрос при запуске которого текст будет переводится в транслит, в этом случае нужно вставить код, указанный ниже. В итоге, для перевода текста в transit необходимо выделить нужный текст на русском языке (диапазон ячеек) и запустить макрос «Translit» и данный текст будет обработан.
- Важно! Перед копированием данного кода, обязательно переключите раскладку клавиатуры на русский язык.
Sub Translit() Dim Txt As Variant Dim i As Integer Dim J As Integer Dim c As String Dim flag As Integer Dim outchr As String Dim outstr As String Dim Rus As Variant Rus = Array("а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", _ "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", _ "щ", "ъ", "ы", "ь", "э", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", _ "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", _ "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я") Dim Eng As Variant Eng = Array("a", "b", "v", "g", "d", "e", "jo", "zh", "z", "i", "j", _ "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "kh", "ts", "ch", _ "sh", "sch", "''", "y", "'", "e", "yu", "ya", "A", "B", "V", "G", "D", _ "E", "JO", "ZH", "Z", "I", "J", "K", "L", "M", "N", "O", "P", "R", _ "S", "T", "U", "F", "KH", "TS", "CH", "SH", "SCH", "''", "Y", "'", "E", "YU", "YA") For Each Txt In Selection.Cells outstr = Empty For i = 1 To Len(Txt) с = Mid(Txt, i, 1) flag = 0 For J = 0 To 65 If Rus(J) = с Then outchr = Eng(J) flag = 1 Exit For End If Next J If flag Then outstr = outstr & outchr Else outstr = outstr & с Next i Txt.Value = outstr Next Txt End Sub
Итак, надеюсь вы нашли ответ на свой вопрос о том, как проще всего транслитерировать текст в Excel (преобразовать текст на русском языке в транслит).
Ставьте лайки, подписывайтесь на наши группы в социальных сетях и следите за следующими уроками.
SirExcel — безграничные возможности Excel