Как перевести 1С 8.3 на английский язык
Содержание
Чтобы переключить интерфейс самой платформы 1С на английский, переводить ничего не нужно: при запуске откройте настройку списка баз, задайте язык интерфейса English — и системные команды, стандартные кнопки, служебные сообщения платформа покажет по-английски сама. Этот уровень работает в любой конфигурации 8.3 без правки кода.
А вот названия документов, справочников, реквизитов и надписи на формах — это уже часть конфигурации. Они останутся русскими, пока вы не добавите английский язык в саму конфигурацию и не переведёте синонимы объектов в Конфигураторе. Поэтому «перевести 1С на английский» — это не одно действие, а работа сразу на нескольких уровнях.
Разберём по порядку: что переключается само, что придётся переводить руками, какими инструментами платформа 8.3 помогает разработчику и как потом не потерять перевод при обновлении.
Три уровня перевода, которые нельзя смешивать
Главная ошибка новичка — считать, что английский язык включается одной галочкой. На деле в 1С три независимых слоя текста, и каждый переводится по-своему.
| Уровень | Что сюда входит | Как перевести |
|---|---|---|
| Интерфейс платформы | Системные кнопки (Записать, Провести), меню, стандартные сообщения, диалоги | Переключить язык интерфейса при запуске — перевод уже встроен |
| Конфигурация | Названия документов и справочников, подписи реквизитов, надписи на формах, значения перечислений, тексты из кода | Добавить язык в конфигурацию и перевести синонимы и строки в Конфигураторе |
| Данные | Наименования номенклатуры, контрагентов, статьи затрат — всё, что ввели пользователи | Автоматически не переводятся; нужны отдельные реквизиты или ручной ввод |
Запомните границу: платформа переведёт свои служебные тексты сама, а всё, что относится к прикладному решению и к введённым данным, — ответственность разработчика и пользователя.
Из-за этого «наполовину английский» интерфейс — нормальная промежуточная картина: платформенные кнопки уже на английском, а названия документов ещё на русском. Это не сбой, просто вы перевели только первый уровень.
Как включить английский интерфейс платформы
Это самый быстрый результат, и он не требует Конфигуратора.
- В окне запуска 1С выделите нужную базу и нажмите кнопку
Настройка. - В поле языка интерфейса по умолчанию выберите
English. - Сохраните настройку и запустите базу — платформенные элементы станут английскими.
Тот же результат даёт параметр командной строки при запуске: ключ /L с кодом языка, например /L en. Его удобно прописать в ярлыке, когда база всегда должна открываться по-английски.
Английский интерфейс платформы появится, только если установлен соответствующий языковой набор. Он входит в стандартную поставку платформы 8.3, но при минимальной установке мог быть пропущен — тогда переустановите платформу, отметив английский язык.
Отдельная лицензия для английского интерфейса не нужна: это не другой продукт, а языковой набор платформы. Язык задаётся на уровне сеанса, поэтому в одной базе один пользователь может работать по-русски, а другой — по-английски, не мешая друг другу.
Что подготовить перед переводом конфигурации
Прежде чем лезть в синонимы, оцените объём и снимите блокираторы.
- 🔎 Проверьте официальную локализацию. У ряда продуктов 1С есть готовые англоязычные версии и локализации. Если такая существует, ручной перевод типовой почти всегда проигрывает по трудозатратам.
- 📦 Снимите копию. Любые правки конфигурации делайте только на копии базы, с полной выгрузкой в
.dt. Перевод затрагивает метаданные, откатить их без копии тяжело. - 🔒 Разберитесь с поддержкой. Типовая обычно «на поддержке», и редактирование заблокировано. Чтобы менять синонимы, конфигурацию придётся включить в режим возможности изменений — это усложнит будущие обновления.
- 📐 Определите охват. Нужен перевод всей конфигурации или только нескольких подсистем? Переводить 20 документов и переводить всю БП — задачи разного масштаба.
Для собственной (не типовой) конфигурации ограничений с поддержкой нет — сразу переходите к добавлению языка.
Отдельно договоритесь о терминологии до старта. Как переводить «проведение», «реквизит», «обработка», названия специфичных документов — решать лучше один раз и записать в глоссарий. Если три разработчика переведут «Контрагент» как Counterparty, Partner и Vendor, пользователь получит кашу, и вычитка займёт больше времени, чем сам перевод.
Добавляем английский язык в конфигурацию
Перевод живёт в многоязычном механизме платформы. Сначала язык нужно объявить.
- В дереве конфигурации откройте ветку
Общие→Языки. - Добавьте новый язык: задайте код (например,
en) и выберите идентификатор языка — английский. - При необходимости укажите основной язык конфигурации в её свойствах.
После этого у каждого объекта метаданных в свойстве Синоним появляется отдельное поле под новый язык. Именно синонимы видит пользователь: это подписи документов, справочников, реквизитов, команд, значений перечислений.
Многоязычность 8.3 позволяет хранить переводы параллельно с русским в одной конфигурации. Пользователь затем выбирает свой язык, а вы не плодите копии базы под каждый язык.
Заполнять сотни синонимов вручную по одному — долго. Для этого есть специальный инструмент.
Редактор текстов интерфейса — главный инструмент перевода
Ключевой приём, без которого перевод превращается в ручной перебор дерева, — редактирование текстов интерфейса в Конфигураторе (меню Правка).
Инструмент собирает все текстовые строки интерфейса из выбранных объектов в единый список и показывает их в колонках по языкам. Вы переводите строки в таблице, а платформа раскладывает переводы обратно по объектам.
Как это выглядит на практике:
- задаёте область сбора (вся конфигурация или отдельные подсистемы);
- получаете список исходных русских строк и пустых английских;
- заполняете английскую колонку — удобно, что повторяющиеся строки видны рядом и переводятся единообразно;
- сохраняете — синонимы и надписи обновляются в конфигурации.
Такой режим экономит часы по сравнению с ручным обходом объектов и, что важнее, не даёт пропустить строки — вы видите сразу всё, что ещё не переведено.
По трудоёмкости подходы к переводу выстраиваются так:
- ✍️ Ручное заполнение синонимов объект за объектом — годится, когда переводить надо десяток объектов, не больше. На полной конфигурации так утонуть легко.
- 📋 Редактор текстов интерфейса — рабочий вариант по умолчанию: всё в одной таблице, видно непереведённое, повторы правятся единообразно.
- 🤖 Машинный перевод с вычиткой — строки выгружают, прогоняют через переводчик и обязательно вычитывают. Без вычитки получите «Post» там, где нужно «Posting», и термины вразнобой. Автоперевод ускоряет черновик, но не заменяет специалиста.
Какой бы путь вы ни выбрали, финальный свод строк всё равно удобнее держать и проверять в редакторе текстов интерфейса.
Макеты печатных форм и некоторые строки, зашитые в код, редактор текстов интерфейса не охватывает полностью. Их переводят отдельно (см. ниже).
Перевод строк в коде через НСтр()
Часть текстов программисты выводят прямо из модулей — заголовки сообщений, подсказки, динамические надписи. Если написать строку обычным литералом, она не переведётся никогда.
Для многоязычного текста в коде используют функцию НСтр (NStr). В ней перевод хранится прямо в строке по кодам языков:
Сообщить(НСтр("ru = 'Документ проведён'; en = 'Document posted'"));
Заголовок = НСтр("ru = 'Выберите период'; en = 'Select period'");
Платформа сама подставит строку на языке текущего сеанса. Правила простые:
- каждый язык — свой код и текст в одинарных кавычках, языки разделяются
;; - если для текущего языка перевода нет, берётся основной язык конфигурации;
- одиночные литералы без
НСтростаются непереведёнными — их придётся отлавливать при тестировании.
Частая ловушка — собирать сообщение из кусков через конкатенацию: перевести такую фразу целиком невозможно, в английском порядок слов другой. Выносите в НСтр законченное предложение, а переменные подставляйте шаблоном, а не склейкой строк.
Договоритесь в команде: ни одной пользовательской строки в коде без НСтр. Тогда новый функционал не будет каждый раз откатывать перевод назад.
Печатные формы и отчёты на английском
Это самый трудоёмкий уровень, потому что текст печатной формы живёт в макете (табличном документе), а не в синонимах.
Что придётся сделать:
- перевести статичные надписи в областях макета — шапки, подписи полей, итоговые строки;
- проверить, как формируются заголовки колонок отчётов: часть берётся из синонимов реквизитов (переведутся сами), часть задана в макете или в коде формирования;
- учесть формат чисел, дат и разделителей — в английской локали они отличаются, и платформа форматирует их по языку сеанса.
Если нужна и русская, и английская печатная форма одного документа, обычно делают отдельный макет под язык либо параметризуют области. Не переписывайте единственный макет «поверх» русского — потеряете русскую версию.
Для реквизитов, которые тянутся в печать из синонимов, отдельный перевод не нужен: достаточно того, что вы сделали в редакторе текстов интерфейса.
Такая же логика с отчётами на СКД: заголовки полей обычно берутся из представлений полей набора данных, и их переводят в настройках компоновки, а подписи в оформлении и шапке — отдельно. Проверяйте оба места, иначе часть отчёта останется русской.
Тестирование: как найти непереведённые строки
Перевод считается готовым не тогда, когда вы заполнили таблицу, а когда база прошла проверку в английском интерфейсе. Запустите 1С:Предприятие с английским языком сеанса и пройдите по сценариям.
На что смотреть особенно внимательно:
- 🧩 оставшиеся русские слова среди английских — это строки без перевода или литералы без
НСтр; - 🔢 формат чисел и дат в отчётах — должен соответствовать английской локали;
- 📝 обрезанные подписи — английский текст часто длиннее, кнопки и колонки могут не вмещать его.
Любое непереведённое слово — это не косметика, а след пропущенной строки. Вернитесь в редактор текстов интерфейса или найдите литерал в коде.
Поддержка перевода при обновлениях
Перевод — не разовая работа. Каждое обновление конфигурации приносит новые объекты и строки, и они приходят без английских синонимов.
Чтобы не переводить всё заново:
- после обновления снова запускайте редактор текстов интерфейса — он покажет только новые непереведённые строки;
- ведите глоссарий терминов, чтобы один и тот же документ не назывался в разных местах по-разному;
- для собственных доработок по возможности держите перевод в расширении конфигурации — тогда обновление типовой не затирает вашу работу.
Полезно зафиксировать, какую версию конфигурации вы перевели: при переходе на следующий релиз сравнение «было — стало» подскажет, какие объекты добавились и где искать новые непереведённые строки. Без такой отметки каждый раз придётся пересматривать всю конфигурацию заново.
Если типовую пришлось снять с поддержки ради перевода, обновления станут сложнее и будут требовать ручного сравнения. Для типовых это весомый аргумент в пользу официальной локализованной версии вместо самодельного перевода.