Как перевести текст сразу на несколько языков онлайн
Массовый перевод удобнее строить по схеме «один исходник — таблица строк — несколько целевых языков — редактура». В статье: сравнение сервисов и подходов, формула GOOGLETRANSLATE, правила постановки задачи ИИ, форматы локализации iOS и Android и способы проверить результат до публикации.
Содержание
- Что значит «перевести сразу на несколько языков»
- Способы массового перевода: сравнение
- Таблица и GOOGLETRANSLATE: пошагово
- Перевод с помощью ИИ: как ставить задачу
- Локализация приложения: iOS и Android
- Сайт, каталог и страницы в магазинах приложений
- Как проверить качество перевода
- Типичные ошибки
- Краткий план: от исходника до релиза
Коротко: как перевести таблицу строк сразу на несколько языков
- Подготовьте исходник. В первом столбце разместите текст на исходном языке (по одной строке на фразу), в первой строке — коды целевых языков: en, de, fr, es, zh-CN. Уберите пустые строки и объединённые ячейки.
- Вставьте формулу перевода. В ячейку B2 введите =GOOGLETRANSLATE($A2;"ru";B$1) и нажмите Enter. Первый аргумент — текст, второй — исходный язык, третий — целевой, взятый из заголовка столбца.
- Размножьте формулу. Протяните ячейку вправо на все языковые столбцы и вниз на все строки. Для больших таблиц используйте =ARRAYFORMULA(GOOGLETRANSLATE(A2:A200;"ru";B1)) по каждому языку.
- Зафиксируйте результат. Скопируйте блок переводов и вставьте его на новое место через «Специальная вставка → Только значения». Иначе формулы будут пересчитываться при каждом открытии файла и текст может измениться.
- Вычитайте и выгрузите. Проверьте плейсхолдеры, длину строк и терминологию, затем экспортируйте лист в CSV и разложите столбцы по файлам локализации.
Что значит «перевести сразу на несколько языков»
На практике задача выглядит по-разному, но сводится к трём сценариям:
- разовый текст — письмо, инструкция, описание услуги — нужно получить на 5–10 языках;
- таблица или каталог — сотни строк, которые бессмысленно переводить по одной через веб-форму;
- продукт — приложение, сайт, страницы в магазинах — где перевод становится регулярным процессом с версиями и правками.
Во всех случаях работает одна схема: один исходник → таблица строк → перевод в несколько колонок → редактура → сборка в файлы локализации. Она экономит время и, что важнее, держит единую терминологию: все языки переводятся с оригинала, а не друг с друга.
Отдельное правило — не строить цепочек «русский → английский → немецкий». Каждый промежуточный шаг накапливает искажения, и заметнее всего это на коротких строках интерфейса, где нет контекста. Общие принципы организации такой работы разобраны в материале перевод на несколько языков.
Полезно заранее оценить объём: 800 строк интерфейса на 10 языках — это 8000 сегментов. Машинный черновик по ним делается за минуты, вычитка — за дни, поэтому бюджет времени планируют по этапу проверки, а не по этапу перевода.
Способы массового перевода: сравнение
| Способ | Что умеет | Ограничения |
|---|---|---|
| Google Переводчик, веб-версия | текст, документы, сайт по ссылке; много языков | один целевой язык за прогон, машинный стиль |
| Яндекс Переводчик | текст, документы, перевод сайта по URL, API | меньше языковых пар, чем у Google |
| DeepL | документы целиком, глоссарии в платной версии | меньше языков; для ряда европейских пар качество обычно выше |
| Azure AI Translator, Google Cloud Translation | API, пакетные запросы, глоссарии, свои модели | требуется настройка, оплата по объёму |
| Языковые модели (ChatGPT, Gemini, Claude и др.) | контекст, стиль, сразу несколько языков в одном ответе, нужный формат вывода | результат нестабилен, нужна проверка, вопросы приватности |
| Google Таблицы, функция GOOGLETRANSLATE | массовый перевод строк, языки в колонках | лимиты на частоту запросов, стиль машинный |
| Платформы локализации (Crowdin, Lokalise, Transifex, Weblate, POEditor) | строки, память переводов, глоссарии, заказ переводчику | платно (кроме открытых решений), требует настройки |
Практическая рекомендация: не искать один «лучший» сервис, а собрать конвейер. Черновик даёт машина или модель, терминологию выравнивает глоссарий, финальный текст правит редактор. Для больших проектов это дешевле, чем десять раз переводить вручную, и быстрее, чем ждать переводчика по каждой строке.
Таблица и GOOGLETRANSLATE: пошагово
Самый доступный способ перевести десятки и сотни строк сразу на несколько языков — Google Таблицы. Функция GOOGLETRANSLATE обращается к переводу Google прямо из ячейки.
- Подготовьте лист. Столбец A — исходный текст (по одной фразе в строке). В первой строке других столбцов — коды языков:
en,de,fr,es,it,pt,pl,tr,zh-CN,ja,ko,ar. - Вставьте формулу. В ячейку B2 введите
=GOOGLETRANSLATE($A2;"ru";B$1). Знак доллара фиксирует столбец с исходником и строку с кодом языка — это позволяет протягивать формулу в обе стороны. - Протяните формулу вправо на все языковые столбцы и вниз на все строки.
- Для больших таблиц используйте массив:
=ARRAYFORMULA(GOOGLETRANSLATE(A2:A200;"ru";B1))— по одной такой формуле на каждый язык. - Зафиксируйте значения. Выделите блок, скопируйте и вставьте через «Специальная вставка → Только значения». Формулы пересчитываются при открытии файла, и текст может измениться.
- Выгрузите на диск в CSV или XLSX — формат CSV удобнее для дальнейшей сборки, XLSX — для правок вручную.
Технические детали, о которых стоит знать:
- разделитель аргументов зависит от локали таблицы: в русской это
;, в англоязычной —,; - коды языков берутся по ISO 639-1, для китайского полезно уточнять регион (
zh-CN,zh-TW); - сервис ограничивает частоту обращений: на тысячах строк появляются ошибки, поэтому большие объёмы разбивают на части;
- очень длинные ячейки (несколько тысяч символов) лучше делить на абзацы;
- машинный перевод не сохраняет плейсхолдеры вроде
%sв нужном регистре и порядке — это правится вручную или скриптом.
Перевод с помощью ИИ: как ставить задачу
Языковая модель удобна тем, что выдаёт сразу несколько языков в структурированном виде и учитывает контекст: назначение строки, аудиторию, ограничение по длине. Но качество сильно зависит от постановки задачи.
Рабочий шаблон запроса:
Переведи строки интерфейса с русского на языки: en, de, es, fr.
Верни ответ строго в JSON: {"en": {"key": "текст"}, "de": {...}}.
Не меняй плейсхолдеры {name}, %s, %1$d, теги <b> и переносы \n.
Не переводи названия брендов и продуктов (iPhone, Google Play).
Соблюдай ограничение длины: не длиннее исходной строки более чем на 30%.
Глоссарий: «корзина» — cart, «тариф» — plan, «подписка» — subscription.
Если строка неоднозначна, добавь поле "note" с пояснением, а не угадывай.
Что даёт результат лучше:
- переводите пакетами по 50–100 строк с ключами, а не весь файл сразу — модель реже теряет соответствие;
- указывайте контекст: где строка показывается, что означает термин, кто читатель;
- просите пометки для спорных мест вместо догадок;
- храните промпт и глоссарий в репозитории, чтобы при обновлении текстов получать сопоставимый результат;
- не отправляйте в сторонний сервис персональные данные и закрытую документацию, если это противоречит политике компании.
Слабое место ИИ — нестабильность: при повторном запросе формулировки меняются, а иногда модель «улучшает» текст и добавляет то, чего в исходнике не было. Поэтому ИИ-перевод всегда проходит тот же контроль, что и машинный.
Локализация приложения: iOS и Android
Строки приложения хранятся в файлах, и именно они становятся объектом массового перевода.
| Платформа | Файлы | Особенности |
|---|---|---|
| iOS | Localizable.strings, .stringsdict, String Catalog .xcstrings |
формат "ключ" = "значение";; множественные числа — отдельный словарь |
| Android | res/values/strings.xml, res/values-de/strings.xml |
<plurals>, <string-array>, экранирование апострофа и символа % |
| Flutter | .arb |
ключи с описанием для переводчика |
| React, Vue (i18next) | .json |
вложенные ключи, суффиксы _one, _few, _many для чисел |
| gettext | .po, .pot |
комментарии #. с контекстом, msgctxt для одинаковых строк |
Порядок работы для iOS:
- В Xcode выберите Editor → Export for Localization — получите XLIFF-файл со всеми строками.
- Переведите XLIFF через таблицу, ИИ или платформу локализации.
- Верните файл через Import Localizations и проверьте сборку.
- В Xcode 15 и новее строки могут храниться в String Catalog — тогда языки добавляются прямо в проекте, но принцип тот же.
Для Android перевод кладут в отдельные каталоги values-<код языка>. Android Studio подсвечивает пропущенные и лишние строки через lint (MissingTranslation, ExtraTranslation) — это бесплатная проверка полноты. Апостроф внутри строки экранируется (\') либо строка целиком берётся в двойные кавычки; знак % вне формата требует formatted="false".
Общие требования к файлам локализации: UTF-8 без BOM, неизменные ключи, комментарии для переводчика, отказ от склейки предложений из кусков. JSON-структуры удобно проверять валидатором — см. JSON.
Сайт, каталог и страницы в магазинах приложений
Для сайта массовый перевод начинается со структуры URL и разметки:
- отдельные адреса для языков (
/en/,/de/) или поддомены — предпочтительнее автоматического перевода «на лету»; - атрибут
langу<html>и взаимные ссылкиhreflangсx-default; - карта сайта с языковыми версиями — см. sitemap.xml;
- виджеты автоперевода вроде Google Translate вставляются одной строкой кода, но дают машинный текст, который плохо индексируется и ломает вёрстку на длинных языках.
Каталоги и фиды переводят табличным способом: наименования, короткие и полные описания, характеристики. Важно не переводить артикулы, единицы измерения и коды, а также согласовать порядок столбцов с импортом, иначе строки встанут не на свои места.
В магазинах приложений локализуются название, подзаголовок, описание, ключевые слова и подписи на скриншотах. Это влияет на выдачу и конверсию страницы; подробнее — в статье продвижение приложения в App Store. Локализованное описание должно соответствовать тому, что реально умеет приложение: расхождение ведёт к жалобам и отклонению при модерации.
Как проверить качество перевода
Проверка строится в несколько слоёв — от автоматической до человеческой.
| Что проверять | Как |
|---|---|
| Плейсхолдеры, теги, переносы | скрипт сравнивает набор {name}, %s, %1$d, <b> в исходной и переведённой строке |
| Полнота | lint в Android Studio, сборка Xcode, сверка ключей между языками |
| Переполнение интерфейса | псевдолокализация: Double-Length Pseudolanguage в Xcode, локали en-XA и ar-XB в Android |
| Смысл | обратный перевод спорных фраз на исходный язык |
| Терминология | глоссарий и память переводов, единые термины во всех языках |
| Числа и даты | CLDR-правила множественного числа (в русском три формы, в арабском шесть), форматы валют и адресов |
| Естественность | вычитка носителем для публичных текстов |
| Работа продукта | смена языка системы, проверка RTL-языков (арабский, иврит), скриншоты экранов |
Отдельно стоит проверить места подстановки: если в строке {count} файлов подставляется число, перевод должен давать грамматически верные формы для 1, 2 и 5. Для этого используют plurals в Android, .stringsdict в iOS и ICU-форматы в веб-проектах, а не ручное «файлов/файла».
Обратный перевод полезен как быстрый фильтр, но не заменяет редактора: он показывает потерю смысла, однако не показывает неестественный порядок слов и стилистические ошибки.
Типичные ошибки
- Перевод по словам. Строки «Открыть», «Открыто», «Открытие» машина переводит по-разному, и в интерфейсе появляется разнобой. Контекст в комментариях к ключу решает это.
- Жёсткая вёрстка. Кнопка, рассчитанная на русское слово, ломается на немецком. Закладывайте запас по ширине или используйте перенос и адаптивные контейнеры.
- Перевод имён и кодов. Названия брендов, артикулы, имена файлов и значения enum переводить нельзя.
- Правка исходника без повторного перевода. Изменился русский текст — старые переводы устарели. Нужна сверка по ключам и датам изменения.
- Цепочка языков. Промежуточный английский как источник для остальных языков даёт двойные искажения.
- Отсутствие глоссария. Каждый новый прогон даёт новые термины; в итоге «тариф», «план» и «подписка» означают в разных местах разное.
- Проверка только в одном языке системы. Часть строк подтягивается из кода, минуя файлы локализации, и остаётся непереведённой.
Краткий план: от исходника до релиза
- Соберите все строки в один список с ключами и комментариями.
- Определите целевые языки и приоритеты — обычно 3–5 основных, остальные позже.
- Составьте глоссарий на 20–50 терминов.
- Сделайте черновик: таблица с GOOGLETRANSLATE или пакетный запрос к ИИ.
- Вычитайте текст и приведите терминологию к глоссарию.
- Прогоните автоматические проверки плейсхолдеров и полноты.
- Проверьте интерфейс в псевдолокали и на реальных экранах.
- Отдайте ключевые тексты носителю языка, внесите правки и зафиксируйте версию переводов.
Массовый перевод перестаёт быть рутиной, когда исходник живёт в одном месте, а все языки собираются из него автоматически. Тогда добавление нового языка — это повторный прогон по готовому конвейеру, а не новая работа с нуля.
Частые вопросы
Можно ли перевести текст сразу на несколько языков в Google Переводчике?
В веб-интерфейсе и мобильном приложении за один раз выбирается один целевой язык, поэтому несколько языков получают последовательными прогонами. Для массовой работы удобнее таблица с GOOGLETRANSLATE, обращение к API или запрос к языковой модели, где все языки возвращаются одним ответом.
Это бесплатно?
Google Таблицы с функцией GOOGLETRANSLATE и веб-версии переводчиков доступны без оплаты, но с ограничениями по объёму и частоте запросов. Пакетные API (DeepL, Azure AI Translator, Google Cloud Translation) и профессиональные платформы локализации платные. Языковые модели работают по подписке или тарифицируются по объёму текста.
Насколько точен машинный перевод?
Для информационных текстов результат обычно понятен и годится как черновик. Для интерфейсов, юридических документов и рекламных материалов нужна вычитка: машинный перевод плохо чувствует контекст, игру слов и предметную терминологию, а иногда меняет смысл отрицаний и чисел.
Как перевести строки iOS-приложения?
Строки хранятся в файлах .strings, .stringsdict (множественные числа) или в String Catalog (.xcstrings) в Xcode 15 и новее. В Xcode выберите Editor → Export for Localization, получите XLIFF-файл, переведите его и верните через Import Localizations.
Что делать с плейсхолдерами и разметкой?
Их нельзя переводить и нельзя удалять: {name}, %s, %1$d, <b>, переносы \n должны остаться в целевом тексте без изменений. Перед сборкой проекта полезно прогнать файлы простым скриптом, который сравнивает набор плейсхолдеров в исходной и переведённой строке.
Обязателен ли носитель языка для проверки?
Для публичных текстов — интерфейса, описаний в магазинах приложений, лендингов — желателен. Носитель или профильный редактор ловит неестественные формулировки и ошибки терминологии, которые обратный перевод не показывает. Для внутренних черновиков и служебных строк достаточно выборочной проверки.
Материал подготовлен редакцией справочника Торох и носит справочный характер: интерфейсы программ и настройки серверов зависят от версии. Нашли неточность? Напишите нам.