Интерфейс установленной программы отображается на английском, китайском или другом языке, а в настройках переключателя на русский нет — типичный признак того, что разработчик не добавил русскую локализацию, и переводить приложение придётся самостоятельно с помощью специальных инструментов. Способ перевода зависит от того, как устроена программа: строки интерфейса могут храниться в ресурсах исполняемого файла, в отдельных языковых файлах или быть «зашиты» в код.
Под локализацией понимают перевод текстовых строк программы — пунктов меню, кнопок, диалоговых окон, подсказок и сообщений об ошибках. Для этой задачи существуют редакторы ресурсов, CAT-инструменты и редакторы файлов переводов. Ниже разберём, как выбрать подходящий инструмент и как безопасно выполнить перевод.
Как устроен перевод интерфейса программ
Прежде чем выбирать инструмент, нужно понять, где именно программа хранит текст. От этого зависит весь дальнейший подход. Различают три основных варианта организации строк.
Во-первых, текст может находиться в ресурсах исполняемого файла — внутри EXE или DLL. Так устроено большинство классических Windows-приложений. Во-вторых, многие кроссплатформенные программы хранят переводы в отдельных файлах: PO/MO (формат gettext), INI, XML, JSON или QM (Qt Linguist). В-третьих, строки могут быть встроены прямо в код — это самый сложный случай, требующий навыков программирования.
- 🔍 Откройте папку с программой и поищите файлы с расширениями
.po,.mo,.lng,.qm,.xml,.json— их наличие сильно упрощает задачу. - 📁 Проверьте подпапки с названиями
lang,languages,locale,i18n— именно там обычно лежат языковые файлы. - 🧩 Если отдельных файлов нет, вероятнее всего строки находятся в ресурсах EXE/DLL — понадобится редактор ресурсов.
- 🌐 Проверьте сайт разработчика: возможно, уже существует готовый русификатор или языковой пакет, и переводить ничего не придётся.
Обзор программ для перевода программ
Инструментов для локализации немало, и у каждого своя специализация. Ниже — проверенные варианты, которые чаще всего используются для перевода программ на русский язык.
Resource Hacker — бесплатный редактор ресурсов Windows. Позволяет открыть EXE или DLL, найти строковые таблицы, диалоги и меню, отредактировать их и сохранить файл. Подходит для классических десктопных приложений с ресурсами в исполняемых файлах.
Poedit — редактор файлов переводов в формате PO/MO (gettext). Удобный интерфейс, подсветка исходного текста и перевода, проверка орфографии. Это стандарт для программ, использующих gettext, — таких приложений много среди открытого ПО.
SDL Passolo — профессиональный инструмент локализации, ориентированный на команды переводчиков. Поддерживает множество форматов, проверку терминологии и автоматизацию. Для разовой задачи может быть избыточен, но при регулярной работе с локализацией экономит время.
Qt Linguist — инструмент для перевода приложений, написанных на Qt. Работает с файлами TS и компилирует их в QM. Если программа собрана на Qt, это самый правильный выбор.
| Инструмент | Тип файлов | Лицензия | Кому подходит |
|---|---|---|---|
| Resource Hacker | EXE, DLL (ресурсы) | Бесплатный | Классические Windows-программы |
| Poedit | PO, MO | Бесплатный (есть Pro) | Программы на gettext |
| Qt Linguist | TS, QM | Бесплатный | Приложения на Qt |
| SDL Passolo | Множество форматов | Коммерческий | Профессиональная локализация |
| OmegaT | Разные (CAT-инструмент) | Бесплатный | Объёмные переводы с памятью переводов |
Перевод через Resource Hacker: пошаговый алгоритм
Если строки находятся в ресурсах исполняемого файла, последовательность действий выглядит так. Сначала обязательно сделайте резервную копию оригинального EXE или DLL-файла — это единственная страховка на случай, если после правок программа перестанет запускаться.
Далее откройте файл в Resource Hacker через меню File → Open. В дереве слева найдите разделы String Table, Menu и Dialog — именно там сосредоточен видимый пользователю текст. Отредактируйте нужные строки, затем нажмите Compile Script (зелёная кнопка) и сохраните результат через File → Save As под новым именем.
☑️ Перевод через Resource Hacker — чек-лист
После сохранения замените оригинальный файл переведённым (при закрытой программе) и запустите приложение. Проверьте главное окно, меню и диалоги настроек. Если программа не запускается или ведёт себя странно — верните резервную копию на место.
⚠️ Внимание: некоторые программы проверяют целостность своих файлов по контрольной сумме или цифровой подписи. После редактирования ресурсов такая программа может отказаться запускаться, а антивирус — счесть изменённый файл подозрительным. Это не признак ошибки с вашей стороны, а особенность защиты конкретного приложения.
Перевод через языковые файлы (PO, INI, JSON)
Самый безопасный сценарий — когда программа поддерживает внешние языковые файлы. В этом случае исполняемый файл вообще не трогают: достаточно создать или отредактировать текстовый файл с переводом.
Для формата gettext откройте существующий .po-файл (например, английский) в Poedit или создайте новый перевод из шаблона .pot. В левой колонке отображается исходная строка, в правой вводится перевод. После сохранения Poedit автоматически создаёт скомпилированный .mo-файл, который программа загружает при запуске.
Файлы INI, XML и JSON редактируются в любом текстовом редакторе с поддержкой кодировки UTF-8, например в Notepad++. Главное — сохранить структуру файла: не удалять кавычки, скобки и служебные ключи, переводить только значения строк.
Частые проблемы при переводе и их решения
Даже при правильных действиях локализация может давать побочные эффекты. Разберём самые распространённые.
- 🔤 Кракозябры вместо русского текста — несовпадение кодировок. Сохраните файл в UTF-8, а для старых программ попробуйте Windows-1251.
- ✂️ Обрезанный текст на кнопках — русские фразы обычно длиннее английских. Сокращайте формулировки или, если редактор позволяет, расширяйте элемент диалога.
- 🚫 Программа не запускается после правки — верните резервную копию и проверьте, не нарушена ли структура файла, не требуется ли сохранить цифровую подпись.
- 🔄 Перевод слетает после обновления — обновления перезаписывают файлы. Храните переведённые файлы отдельно и восстанавливайте их после апдейта.
⚠️ Внимание: перед переводом проверьте лицензионное соглашение программы. Некоторые лицензии запрещают модификацию исполняемых файлов. Перевод для личного использования обычно не вызывает проблем, но распространение изменённых файлов может нарушать условия лицензии.
Что делать, если строки зашиты в код?
Если текст не находится ни в ресурсах, ни в языковых файлах, возможные причины — строки зашиты в исходный код или хранятся в зашифрованном виде. В первом случае без доступа к исходникам качественный перевод практически невозможен. Практичные альтернативы: поискать готовый русификатор от сообщества, написать разработчику с предложением добавить русский язык или подобрать аналог программы с русской локализацией.
Альтернатива: готовые русификаторы и машинный перевод
Не всегда нужно переводить программу вручную. Для популярного софта энтузиасты часто выпускают готовые русификаторы — их ищут на профильных форумах и сайтах разработчиков. Перед установкой проверяйте источник: вместе с русификатором из непроверенного места можно получить вредоносный код.
Другой вариант — экранные переводчики, которые распознают текст в окне программы и показывают перевод поверх него, не изменяя файлы. Качество машинного перевода уступает ручному, зато метод полностью безопасен и обратим. Это разумный выбор, когда перевод нужен «здесь и сейчас», а редактировать файлы нет желания или возможности.
FAQ: частые вопросы о переводе программ
Легально ли переводить программу на русский язык?
Перевод для личного использования, как правило, не вызывает претензий. Однако модификация файлов может нарушать лицензионное соглашение, а распространение изменённых файлов — авторские права. Самый безопасный путь — внешние языковые файлы, если программа их поддерживает.
Почему после перевода программа перестала запускаться?
Возможные причины: нарушена структура файла при редактировании, программа проверяет целостность своих файлов, либо изменение заблокировал антивирус. Верните резервную копию и попробуйте другой подход — например, перевод через внешние языковые файлы.
Можно ли перевести Android-приложение на русский?
Да, строки Android-приложений обычно хранятся в файлах strings.xml внутри APK. Однако редактирование APK требует его разборки, пересборки и подписи, а подписанное заново приложение может конфликтовать с оригиналом и системой обновлений. Это более рискованный сценарий, чем перевод десктопных программ.
Чем перевести программу, если нет ни ресурсов, ни языковых файлов?
Если строки зашиты в код, полноценный перевод без исходников практически невозможен. Варианты: использовать экранный переводчик, поискать готовый русификатор сообщества или обратиться к разработчику с просьбой добавить русский язык.
Какой инструмент выбрать новичку?
Начните с проверки папки программы на наличие языковых файлов. Если они есть — подойдёт Poedit или обычный текстовый редактор. Если строки в ресурсах EXE — Resource Hacker. Оба инструмента бесплатны и не требуют навыков программирования для базовых задач.