Декілька мовних версій сайту на бітріксі - довідник-чекліст - Агентство

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

Зворотній зв'язок

сайту

Дисклеймер – способів зробити кілька мовних версій на 1С-Бітрікс в інтернеті дуже багато! Я взяв той, який підійшов мені за можливостями та тимчасовими витратами. У той же час, я не знайшов жодного способу, навіть у документації самого бітрикса, де в одному місці давалася б чітка послідовність усіх дій і опис можливих помилок. Цю статтю слід розглядати як довідковий матеріал за одним із типів рішень створення багатомовності на 1C-BITRIX. Поїхали!

Зразковий порядок створення другої та наступних мовної версії сайту

1. Створюємо в адміністративному інтерфейсі новий веб-сайт. Виставляємо в налаштуваннях потрібну нам мову (припустимо, англійську). Кожна редакція Бітрікс йде одразу з можливістю створити на одній ліцензії два сайти. Потрібно більше мов – докуповуємо нові сайти (повірте мені, це буде дешевше, ніж робити багатомовність іншими способами та платити розробнику, щоби це все підтримувати).

2. український сайт перейменовуємо на «RU», англійську називаємо «EN» — для виведення перемикача мов у шапці або підвалі сайту

4. Визначаємось з тим, які сторінки та інфоблоки потрібні нам в англійській версії. Можливо все, а може й не все. Ви повинні створити копії всіх потрібних інфоблоків для кожної версії мови. Про це докладніше у 8-му пункті.

Як це зробити? В адмінці переходимо в розділ контент - "Структура сайту" - "файли та папки".

декілька

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

мовних

Після цього відкриваєте скопійований файл у папці en і редагуєте - перекладаєте всі пункти англійською.

6.Копіюємо до папки «en» всі необхідні нам папки з розділами, сторінками та інфоблоками. Вони можуть бути свої вкладені файли меню, які потрібно також перекласти окремо, як у попередньому пункті.

7. Зі сторінками та розділами все зрозуміло — перейменовуємо у всіх розділах назви у файлах section.php, змінюємо текст у сторінках.

8. Окрема тема: багатомовність для інфоблоків!

  • Найпростіше зробити копії потрібних нам інфоблоків і скопіювати туди всі або необхідні елементи.
  • А потім перенести вже усередині нових інфоблоків.
  • Змінити ID інфоблоків на відповідних сторінках англійського розділу. Як це зробити? Для цього вам потрібно відкрити кожен файл у папці en, де підключений той чи інший інфоблок і знайти код підключення інфоблоку. Приклад:

версій

Далі вам потрібно знайти id аналогічний інфоблок, який ви створили для англійської версії. І вставити це id замість цього.

    Внести правки до файлів локалізації (для кнопочок, метаданих і т.д.) за допомогою функції

Якщо потрібно зберегти один інфоблок для всіх мовних версій (наприклад, у випадку великого торгового каталогу, то доведеться створювати додаткові властивості та поля для всієї дубльованої інформації (назви елементів та розділів, описи тощо), а потім прописувати в шаблонах умови для виведення у певній мовній версії певного поля

Властивості елемента інфоблоку виводяться так:

Замість «VALUE» може бути інший метод виведення, докладніше в документації (не можу поки знайти посилання, додам пізніше)))

Якщо не вдається дізнатися, яку назву змінної чи значення використовувати, часто допомагає проста команда:

вбиваєте назву потрібно змінною і отримуєте її повнийрозклад

Додаткові поля розділу виводяться через такий код: