В версии 1.5.4 в продукте появилась возможность добавлять неограниченное количество языков интерфейса, а также механизмы перевода всех основных элементов интерфейса и части данных их инфоблоков и т.д.
В целом работа с языками выполняется в следующей последовательности:
1. Добавление нового языка
2. Временная деактивация языка до момента готовности переводов
3. Перевод статических языковых файлов для компонентов
4. Перевод данных из инфоблоков (названия ИБ, свойства ИБ, значения свойств ИБ)
5. Перевод названий разделов инфоблоков
6. Перевод мета-данных для инфоблоков и типов инфоблоков
7. Перевод названий регионов
8. Перевод названий городов
9. Перевод включаемых областей
10. Активация нового языка
Возможно в процессе развития этого функционала будут появляться новые возможности и новые данные для переводов.
Итак, вам нужно авторизоваться с правами администратора, и в публичной части сайта в меню пользователя перейти в раздел "Настройка мультиязычности".
Откроется форма добавления нового языка с двумя полями: код языка и название языка.
Введите двух-буквенный код языка в международном формате и название, например: код - en, название English.
Нажмите "Добавить" и после добавления, на этой-же странице появится список языков.
Обязательно проверьте наличие флага страны с названием языка, если его нет, то скорее всего вы некорректно добавили код языка.
После добавления опционально рекомендуется в админке перейти в созданный хайлоадблок "Список языков" и временно деактивировать добавленный язык, до завершения процесса перевода, и соответственно активировать его после завершения.
В публичной части сайта перейдите из списка в конкретный язык, откроется страница с несколькими вкладками для добавления/редактирования перевода.
Каждая вкладка - отдельная форма, т.е. выполняйте перевод последовательно в рамках одной вкладки, при этом порядок перевода не важен, можете начать с любой.
Обязательно, после добавления/редактирования перевода для вкладки нажимайте в самом низу формы кнопку "Сохранить".
Любая фраза для перевода состоит из двух колонок: слева - исходная фраза на русском языке, справа - поле для перевода. По умолчанию поле для перевода будет либо пустым, либо с продублированной фразой на русском языке в случае отсутствия перевода на конкретный язык. Таким образом достаточно легко ориентироваться в общем списке, и наглядно видно что переведено, а что пропущено.
Выполняйте перевод в любой последовательности, но при этом особо обращайте внимание на некоторые языковые фразы которые могут содержать макросы для динамической замены текста вида #XXXXX# или html теги.
Перевод таких фраз нужно выполнять аккуратно, в точности копируя макрос и html разметку. Не используйте в переводе компонентов одинарные и двойные кавычки, в крайнем случае если пропустили и получили на странице синтаксическую ошибку, нужно зайти в файл перевода конкретного компонента и исправить.
В продукте поддерживается возможность выполнять подключение включаемых файлов (областей) в зависимости от выбранного языка.
Все используемые включаемые файлы расположены в папке основного шаблона продукта (/bitrix/templates/democontent2.board/inc), и в том числе объединены для удобства в папки.
Т.е. включаемые файлы содержат любой произвольный контент. html вёрстку и т.д., и в платформе 1С-Битрикс не существует решения для их корректного перевода.
Тем не менее, раз в продукте реализовано добавление языков, не логично что при переключении языка например на английский, контент из включаемых файлов будет на русском.
Решение простое, после того как вы добавили и активировали новый язык, создайте в папке /bitrix/templates/democontent2.board/inc папку lang (если отсутствует) и внутри неё папку с названием соответствующим коду нужного языка, например пусть это будет папка /bitrix/templates/democontent2.board/inc/lang/en - для английского языка.
Далее вы можете скопировать в эту папку все включаемые файлы из папки /bitrix/templates/democontent2.board/inc (кроме lang), или только часть включаемых файлов.
Но при этом обязательно сохранять структуру вложенности, например вы добавили язык en (/bitrix/templates/democontent2.board/inc/lang/en), и хотите переопределить для него включаемые файлы которые используются для главной страницы и расположены в /bitrix/templates/democontent2.board/inc/index.
В этом случае вы копируете папку /bitrix/templates/democontent2.board/inc/index в /bitrix/templates/democontent2.board/inc/lang/en, и в итоге получаете /bitrix/templates/democontent2.board/inc/lang/en/index.
Всё, после этого при смене языка на английский будут подключаться файлы из этой папки, остаётся только отредактировать их на своё усмотрение.
В продукте поддерживается интеграция с
Google Translate
Это значит что вы можете выполнять весь, или часть перевода используя автоматические средства переводчика Google, при этом опционально рекомендуется всё таки перепроверять перевод, т.к. перевод машинным способом может быть выполнен не точно, или без учёта контекста переводимой фразы.
Для настройки интеграции выполните следующее:
1. Зарегистрируйтесь, и получите API ключ в
Google Console
2. Перейдите в настройки модуля "Универсальная доска объявлений" в админке сайта и добавьте полученный API ключ в поле "API ключ Google Translate"
Обратите внимание, что доступ к API переводчика условно бесплатный, т.е. это значит что вам потребуется указать данные своей банковской карты с которой для проверки будет списан доллар и возвращён назад.
После проверки карты Google активирует вам купон на 300$ которые вы можете тратить на API.
Если вы истратите лимит деньги не будут списываться с вашей карты если вы вручную не подтвердите переход на платный тариф.
Если вы используете переводчик Google, то на перевод интерфейсов на один язык вы будете тратить примерно 3$ из предоставленных 300, таким образом бесплатно сможете перевести сайт на множество языков при необходимости.
С более подробной информацией по использованию сервисов Google вы можете ознакомиться на официальном сайте.
После этого вернитесь в интерфейс редактирования переводов, и в каждом поле справа появится иконка переводчика, при нажатии на которую будет выполнен перевод фразы с русского языка на выбранный язык.
Это удобно для точечного перевода конкретной фразы.
Если же вам нужно выполнить массовый перевод всех фраз раздела, то в каждой вкладке есть кнопка "Перевести раздел", которая запускает процесс перевода всех фраз раздела.
Обратите внимание, что если раздел содержит большое количество фраз, то возможно придётся запускать перевод раздела несколько раз, т.к. работа переводчика может останавливаться по превышению частоты запросов.
Иными словами, если вы выбрали перевод всего раздела и видите что работа переводчика остановилась на каком-то моменте и не продолжается, сохраните текущий перевод, и после этого запустите переводчик вновь.
Если же после перевода раздела пропущенных фраз осталось немного, рекомендуется завершить перевод для оставшихся фраз отдельно.
После выполнения перевода для конкретного языка, не забудьте активировать его в хайлоадблоке если деактивировали ранее.
Начиная с версии 1.6.4 в продукте есть возможность установить язык по умолчанию.
Суть в том, что Языком по умолчанию в платформе 1С-Битрикс является Русский язык, и данная опция позволяет установить другой в качестве языка по умолчанию.
В настройках соответствующего языка в хайлоадблоке поставьте галочку для поля UF_DEFAULT, после чего следует обязательно очистить кеш.