Декілька мовних версій сайту на бітріксі - довідник-чекліст - Агентство
Комплексний інтернет-маркетинг. Розробка Інтернет-проектів для бізнесу. Адміністрація та підтримка.
Зворотній зв'язок

Дисклеймер – способів зробити кілька мовних версій на 1С-Бітрікс в інтернеті дуже багато! Я взяв той, який підійшов мені за можливостями та тимчасовими витратами. У той же час, я не знайшов жодного способу, навіть у документації самого бітрикса, де в одному місці давалася б чітка послідовність усіх дій і опис можливих помилок. Цю статтю слід розглядати як довідковий матеріал за одним із типів рішень створення багатомовності на 1C-BITRIX. Поїхали!
Зразковий порядок створення другої та наступних мовної версії сайту
1. Створюємо в адміністративному інтерфейсі новий веб-сайт. Виставляємо в налаштуваннях потрібну нам мову (припустимо, англійську). Кожна редакція Бітрікс йде одразу з можливістю створити на одній ліцензії два сайти. Потрібно більше мов – докуповуємо нові сайти (повірте мені, це буде дешевше, ніж робити багатомовність іншими способами та платити розробнику, щоби це все підтримувати).
2. український сайт перейменовуємо на «RU», англійську називаємо «EN» — для виведення перемикача мов у шапці або підвалі сайту
4. Визначаємось з тим, які сторінки та інфоблоки потрібні нам в англійській версії. Можливо все, а може й не все. Ви повинні створити копії всіх потрібних інфоблоків для кожної версії мови. Про це докладніше у 8-му пункті.
Як це зробити? В адмінці переходимо в розділ контент - "Структура сайту" - "файли та папки".

У кореневому каталогу зазвичай лежать файли меню. Вибираємо їх і копіюємо до папки en:

Після цього відкриваєте скопійований файл у папці en і редагуєте - перекладаєте всі пункти англійською.
6.Копіюємо до папки «en» всі необхідні нам папки з розділами, сторінками та інфоблоками. Вони можуть бути свої вкладені файли меню, які потрібно також перекласти окремо, як у попередньому пункті.
7. Зі сторінками та розділами все зрозуміло — перейменовуємо у всіх розділах назви у файлах section.php, змінюємо текст у сторінках.
8. Окрема тема: багатомовність для інфоблоків!
- Найпростіше зробити копії потрібних нам інфоблоків і скопіювати туди всі або необхідні елементи.
- А потім перенести вже усередині нових інфоблоків.
- Змінити ID інфоблоків на відповідних сторінках англійського розділу. Як це зробити? Для цього вам потрібно відкрити кожен файл у папці en, де підключений той чи інший інфоблок і знайти код підключення інфоблоку. Приклад:

Далі вам потрібно знайти id аналогічний інфоблок, який ви створили для англійської версії. І вставити це id замість цього.
-
Внести правки до файлів локалізації (для кнопочок, метаданих і т.д.) за допомогою функції
Якщо потрібно зберегти один інфоблок для всіх мовних версій (наприклад, у випадку великого торгового каталогу, то доведеться створювати додаткові властивості та поля для всієї дубльованої інформації (назви елементів та розділів, описи тощо), а потім прописувати в шаблонах умови для виведення у певній мовній версії певного поля
Властивості елемента інфоблоку виводяться так:
Замість «VALUE» може бути інший метод виведення, докладніше в документації (не можу поки знайти посилання, додам пізніше)))
Якщо не вдається дізнатися, яку назву змінної чи значення використовувати, часто допомагає проста команда:
вбиваєте назву потрібно змінною і отримуєте її повнийрозклад
Додаткові поля розділу виводяться через такий код: