Excel-переводчик пригодится всем, кто производит локализацию сайтов, интерфейсов приложений и прочих больших массивов текста.
Дисклеймер: Под большими массивами понимаются сотни строк. Для перевода тысяч строк и десятков тысяч слов бесплатных решений не существует в природе. Увы и ах.
В Excel есть встроенный переводчик от Microsoft, но со своими причудами. Например, перевести можно только одну ячейку, а что делать, когда их сотни?
Можно попытаться использовать возможности VBA для использования онлайн-переводчиков в Excel. Сервисы предоставляют API для подобных задач.
Я выбрал наиболее популярные в РФ сервисы — Яндекс.Переводчик и Google.Translate.
К сожалению, с сентября 2020 бесплатный API Яндекс.Переводчик отключен Яндексом, в текущей версии !SEMTools только Google.
Google Translate и Яндекс.Переводчик — замечательные продукты. Перевод с их помощью довольно качественный и при этом моментальный. Но у веб-интерфейсов этих сервисов есть свои недостатки. Например, ограничения по количеству знаков. Поэтому в !SEMTools были реализованы функции и процедуры для перевода текста на популярные языки. Ниже подробнее о том, как ими воспользоваться.
Процедуры массового перевода
Использовать процедуры несколько удобнее, чем функции, т.к. все действия осуществляются парой кликов мыши. Доступен перевод с русского на 5 популярных языков и обратно:
Для редких случаев перевода с иностранного на иностранный можно воспользоваться отдельной процедурой с выбором языка. Она поддерживает выбор 12 наиболее популярных языков.

Бесплатная Функция GTranslate
Функция доступна всем бесплатно — нужно только скачать !SEMTools и подключить надстройку к вашему Excel.
Синтаксис функции аналогичен таковому в Google Spreadsheets:
=GTranslate(A1;"en";"ru")
С функциями можно использовать любой язык из предложенных на сервисах.
Таблица обозначений языков для перевода
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.
Можно составить словарь слов и их аналогов на другом языке — по тому же принципу, как это сделано в моей процедуре лемматизации. Но пословный перевод редко получается корректным.
Например, фразовые глаголы в английском языке уже приносят страдания тем, кто их учит, т.к. два слова рядом переводятся совсем не так, как по отдельности.
Словоформы глаголов в русском языке зависят от рода субъекта, а в английском — нет.
Нужно переводить не только слова, но и фразы, определяя контекст и взаимоотношения слов. Более того, одни и те же сочетания могут по разному переводиться в зависимости от пунктуации — ее тоже нужно учитывать.
Все это делает задачу составления собственного переводчика очень сложной. Гораздо проще воспользоваться готовыми решениями.
Нет, данный функционал основан на бесплатном API Google, который позволяет переводить текст небольшими объемами в десятки (если небольшими порциями, а не сразу, то сотни) строк и сотни (до нескольких тысяч) слов. Если попытаться перевести сотни строк и тысячи-десятки тысяч слов одновременно, Google наложит временный бан на IP. Как правило это несколько часов, но, вероятно, после нескольких временных банов можно получить пожизненный бан IP.
Для перевода в промышленных масштабах нужно покупать специализированные решения, основанные на платном API.
Если вас интересует подобный функционал и вы готовы платить за платный API (расценки довольно небольшие), сообщите об этом мне (Дмитрий Тумайкин, контакты).