Навигация по сайту

Популярные статьи

Багатомовність в Joomla 3. Як зробити багатомовний сайт на Joomla?

  1. Багатомовний сайт на Joomla
  2. Менеджер мов
  3. Модуль перемикання мов
  4. системний плагін
  5. контент
  6. модулі
  7. Меню
  8. зв'язки
  9. Найбільш поширені запитання
  10. 2. Що робити, якщо немає потрібного мови в Joomla?
  11. 3. Як змінити порядок відображення мов в модулі перемикання мов?
  12. Залишилися питання? подивіться відеоінструкцію

Всім привіт! В даній статті хочу знову торкнутися теми joomla, а саме як зробити багатомовний сайт на joomla. Багатомовність - це одна з переваг, яким прігляделаcь мені joomla. Багатомовний сайт створюється таким чином, що користувачеві необхідно додавати один і той же матеріал на різних мовах. Тобто переклад здійснюється не якихось автоматичним роботом-перекладачем, а відбувається просто перемикання з однієї мови на іншу. Всі статті на різних мовах пишуться людиною, так би мовити, з почуттям, з толком, з розстановкою. Особисто на мене, такий підхід більш серйозний, ніж використання будь-якого гугл-перекладача.

У даній статті покроково розберемо, що необхідно зробити, щоб наш сайт був доступний на різних мовах. Я на зразковому сайті створю ще два додаткових мови - англійська та німецька, тобто у мене сайт буде на трьох мовах: російська, англійська та німецька. Давайте почнемо.

структура статті

Багатомовний сайт на Joomla

Для початку нам необхідно встановити файли локалізації необхідних мов. Ну, передбачається, що файли російської локалізації вже у вас встановлені. Ви ж адже встановлювали російську мову при установці joomla ? Якщо не встановлювали і у вас Адаменко і сайт англійською, то встановіть. Ми розберемо, як встановити німецьку локалізацію, інші мови встановлюються аналогічно. Англійська мова встановлюється за умовчанням.

Менеджер мов

Отже, йдемо в "Розширення" -> «Менеджер мов». У мене встановлено дві мови, російська встановлений за замовчуванням. Так само має бути і у вас.

Зверніть увагу на ліву колонку. Ви повинні чітко розуміти, що означає кожен пункт:

Мовні пакети сайту - задається переклад фронтальної (видимої) частини сайту;

Мовні пакети панелі управління - задається переклад панелі управління сайту;

Мови контенту - мови контенту необхідні нам для організації мультимовного сайту (з якими ми і будемо працювати);

Перевизначення констант - про перевизначення мовних констант я вже писав, можете докладніше почитати.

Давайте встановимо ще одну мову, в моєму випадку це німецьку мову. Для цього тиснемо кнопочку «Встановити мову». Далі, в списку мов відзначаємо галочкою потрібний нам мову. Я зазначив German, тобто німецький. Якщо не знаєте, як буде ваш язик англійською, то можете скористатися гугл-перекладачем .

Якщо не знаєте, як буде ваш язик англійською, то можете скористатися   гугл-перекладачем

Мова встановлений. Повертаємося в менеджер мов і переконуємося, що у нас з'явився ще один мову для сайту і панелі управління.

Наступний крок - відкриваємо посилання «Мови контенту» в новій вкладці (наводимо і тиснемо на коліщатко миші), таким чином у нас будуть відкриті дві вкладки панелі управління: вкладка менеджера мов і вкладка мов контенту Наступний крок - відкриваємо посилання «Мови контенту» в новій вкладці (наводимо і тиснемо на коліщатко миші), таким чином у нас будуть відкриті дві вкладки панелі управління: вкладка менеджера мов і вкладка мов контенту. Зараз дізнаєтеся чому.

Якщо ми зайдемо в мови контенту, то побачимо, що у нас встановлений тільки одну мову контенту за замовчуванням - англійська. Нам необхідно встановити ще два: російську та німецьку. Тиснемо на кнопку «Створити». Далі заповнюємо поля приблизно ось так.

Давайте розберемо кожне поле Давайте розберемо кожне поле. Де брати значення?

Тема - тут вводимо будь-який заголовок;

Тема на рідній мові - тут вводите назву мови на даній мові

Тег мови - беремо з колонки «Тег мови» в менеджері мов (для цього ми і зберегли вкладку браузера з мовами);

Тег мови - беремо з колонки «Тег мови» в менеджері мов (для цього ми і зберегли вкладку браузера з мовами);

Код мови для URL - тут вводимо суфікс для адреси сайту даного мови (тільки обов'язково латиницею), наприклад, буде приблизно так - site.ru/en/;

Префікс зображення - в випадаючому списку вибираємо префікс потрібного нам мови. Якщо виберемо правильно поруч повинен висвітитися прапорець даного мови. Ви повинні знати як виглядає прапор у який додається мови. Якщо не знаєте який префікс вибрати, то робимо наступне - переходимо в кореневу директорію сайту і відкриваємо папку - / media / mod_languages ​​/ images. Знаходимо свій прапор і дивимося на назву файлу. Щоб переглянути прапори можна скористатися стандартним вікном windows. Якщо у вас сайт на хостингу і немає можливості візуально переглянути медіа-файли, то можете завантажити всі файли прапорів на комп'ютер. Вони легкі і багато часу це не займе.

Вони легкі і багато часу це не займе

Стан - природно публікуємо

Доступ - всім гостям - Publiс

Опис - можете ввести будь-яке опис.

Хочу зазначити, що всі поля, відмічені зірочкою обов'язкові для заповнення.

У вкладці «Назва сайту» можете вписати загальну назву сайту на рідній мові. У деяких випадках ця опція може бути корисною.

Тиснемо «Зберегти і створити» і аналогічно створюємо ще одну мову контенту.

Модуль перемикання мов

Після того, як всі мови контенту у нас створені нам необхідно створити і опублікувати модуль перемикання мов. Даний модуль дозволить нашим користувачам перемикатися на бажану мову сайту. Для цього йдемо в «Розширення» -> «Менеджер модулів» і тиснемо по кнопочки «Створити». У списку вибираємо тип модуля «Перемикання мов».

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

системний плагін

Наступне, що нам необхідно зробити це включити плагін фільтра мов. Для цього йдемо в «Розширення» -> «Менеджер плагінів» -> «Система - Фільтр мови».

Давайте не просто його включимо, а зайдемо і розберемо деякі настройки. Взагалі, я рекомендую залишити настройки за замовчуванням, але раптом кого щось не влаштує що-небудь.

Тут я не буду розбирати всі налаштування, а зупинюся лише на деяких. Якщо навести на заголовок, то висвітитися підказка, можете почитати, якщо щось буде незрозуміло.

Вибір мови для нових відвідувачів - тут ви вибираєте, як буде визначатися мову сайту за замовчуванням: з налаштувань браузера, або буде встановлена мова за замовчуванням, встановлений в менеджері мов (за замовчуванням у нас стоїть російська). Тобто, тут вибираєте найбільш прийнятний для вас варіант. Я залишу мову за замовчуванням, встановлений в менеджері мов.

Наступна опція на яку я хотів звернути вашу увагу це «Видаляти префікс мови за замовчуванням«. Що це означає? Напевно на багатьох сайтах, де є кілька мов ви бачили, що адреси мають вигляд, наприклад, site.ru/en або site.ru/ru, тобто додається суфікс мови до адресою сайту. Так ось ця опція потрібна для того, щоб видаляти суфікс з адреси для мови сайту за замовчуванням. Мені здається це логічно. За замовчуванням ця опція відключена, але я зазвичай її включаю і вам рекомендую.

Все, публікуємо плагін і зберігаємо. Решта опцій залишаємо як є.

Встановлені ми зробили. Тепер нам треба створити структуру нашого сайту: я створю дві категорії на трьох мовах, дві статті для кожної категорії на трьох мовах, модуль форми авторизації на трьох мовах і меню трьома мовами + меню за замовчуванням для всіх мов.

А тепер про все по порядку.

контент

Йдемо в «Матеріали» -> «Менеджер категорій» і створюємо категорію. В налаштуваннях категорії присвоюємо мову категорії. Зауважте, що нам при виборі мови доступні всі три створені нами мови.

Дублюємо дану категорію і створюємо аналогічно на інших мовах. Зміст категорії: заголовок і опис замінюємо відповідно до мови. Аналогічно я створю ще одну категорію. У мене їх будуть дві: статті та новини.

Далі, таким же чином створюються матеріали для всіх мов. В налаштуваннях статті також виставляється мову.

В налаштуваннях статті також виставляється мову

Надалі нам необхідно буде пов'язати категорії і статті з аналогічними іншою мовою. Тобто виставляєте стільки зв'язків, скільки у вас мов. Але зв'язку категорій і матеріалів розглянемо трохи нижче.

модулі

Контент у мене створений. Тепер я створю модуль також на трьох мовах. Це буде модуль форми авторизації. Тут також як і для статей створюємо модуль на трьох мовах і присвоюємо потрібну мову в налаштуваннях модуля.

Меню

Тепер давайте перейдемо до меню. Нам необхідно виконати наступне: дублюємо головне меню стільки разів, скільки у нас буде мов, тобто під кожна мова створюється меню і дублюються пункти. Ми залишаємо одне загальне меню з одним єдиним пунктом - Головна. У моєму випадку у мене будуть чотири меню: одне спільне з одним пунктом «Головна» і три меню з пунктами англійською, російською та німецькою мовами.

Давайте розберемо меню за замовчуванням. Заходимо в пункт «Головна» і виставляємо значення головна сторінка в положення - «Так» і значення мови - «Все». Присвоївши статус пункту «Головна сторінка» ми робимо його головним (воно буде позначено іконкою будиночка), а меню стає за замовчуванням головним.

Створюємо пункти меню в інших наших меню, заголовки даємо на рідній мові. Не забуваємо, що кожному пункту слід привласнити відповідну мову.

Слід зазначити, що пунктом меню «Головна» в усіх меню слід виставити перемикач «Головна сторінка» в положення «Так» Слід зазначити, що пунктом меню «Головна» в усіх меню слід виставити перемикач «Головна сторінка» в положення «Так». В результаті даних дій у кожного мовного меню в випадаючому меню адмінки joomla, а також в колонці «Головна» в списку пунктів меню повинна з'явитися іконка прапора.

В результаті даних дій у кожного мовного меню в випадаючому меню адмінки joomla, а також в колонці «Головна» в списку пунктів меню повинна з'явитися іконка прапора

Я створив всі пункти в усіх меню і ось що у мене вийшло.

У вас повинно вийти приблизно те ж саме У вас повинно вийти приблизно те ж саме.

зв'язки

Наступним кроком ми зв'яжемо всі пункти мовних меню між собою за допомогою зв'язків. Для цього заходимо в будь-мовне меню і послідовно відкриваємо кожен пункт на редагування. У вікні налаштувань пункту меню знаходимо вкладку «Зв'язки» та пов'язуємо даними пункт з аналогічним пунктом в інших мовних меню.

Ось таким чином проходимся за всіма пунктами одного меню і пов'язуємо пункти з аналогічними пунктами інших меню. Я відкрив на редагування пункти англійської меню і пов'язав всі пункти.

Після того, як ви зв'яжете всі пункти в списку пунктів меню в колонці «Зв'язки» повинні з'явитися піктограми пов'язаних мов. Ось як у мене виглядає англійське меню. Якщо клацнути по піктограмі будь-якого мови, ми можемо відкрити на редагування пункт меню з такою мовою. Я вважаю це дуже зручно.

Я вважаю це дуже зручно

Ось такі ж піктограми мов ви можете побачити і в інших меню. Зверніть увагу на колонку «Зв'язки». Якщо ви зайдете в інше меню і в списку будуть такі іконки, то значить ми зробили все правильно.

Тепер давайте таким же чином зв'яжемо наші категорії і статті. Спочатку зайдемо в категорії і відкриємо категорію на будь-якій мові на редагування. Знаходимо вкладку «Зв'язки» та також пов'язуємо категорію аналогічної їй іншою мовою.

У списку категорій, якщо все зробили правильно ви повинні також побачити піктограми мов в колонці «Зв'язки» У списку категорій, якщо все зробили правильно ви повинні також побачити піктограми мов в колонці «Зв'язки». Тут також можна відредагувати вміст мови, клацнувши по піктограмі.

Таким же чином пов'язуємо всі матеріали один з одним мовами. Відкриваєте матеріал і у вкладці «Зв'язки» пов'язуєте матеріали.

Тепер давайте виведемо кожне мовне меню в нашому шаблоні за допомогою модуля. Для цього йдемо в «Меню» -> «Менеджер меню» і переходимо по посиланню «Додати модуль для даного типу меню». Звичайно це можна зробити і через менеджер модулів. В даному випадку різниці ніякої немає. Все модуля для мовних меню виводимо в одній і тій же позиції. Я вибрав позицію «position-7» мого шаблону «Protostar». Не забуваємо вибрати мову для кожного модуля меню.

Тепер у всіх меню є модуль виведення, в тому числі і меню за замовчуванням Тепер у всіх меню є модуль виведення, в тому числі і меню за замовчуванням. Ось його якраз можна і видалити, він нам тепер не потрібен. Дане меню не виводиться на сайті.

Все, тепер перейдіть на свій сайт і обновіть сторінку. У вас повинен з'явитися модуль перемикання мов, модуль форми входу і головне меню з пунктами, як у мене.

Спробуйте увійти в категорію і переключитися на іншу мову Спробуйте увійти в категорію і переключитися на іншу мову. Я ось увійшов до категорії «Статті» та переключився на англійську мову. Ось як виглядає тепер контент мого сайту.

При перемиканні на іншу мову мене нікуди не перекинуло, я залишився все на тій же сторінці, просто змінилася мова сайту. Досягається це як раз за допомогою зв'язків пунктів меню, категорій і статей, а також через включення опції «Зв'язок елементів» в плагіні фільтрації мови.

В адресі сайту бачимо той самий суфікс, який ми задали при створенні мов контенту. Зверніть увагу, для мови за замовчуванням суфікс мови не виводиться. Це як раз за рахунок того, що ми активували відповідну опцію в плагіні перемикання мов.

Якщо у вас в адресі присутній - index.php, то це говорить про те, що у вас не включений ЧПУ (людино-зрозумілий урл). Щоб включити ЧПУ необхідно в загальних налаштуваннях joomla у вкладці «Сайт» в настройках Seo виставити перші три перемикача в положення «Так», а також перейменувати в кореневій директорії сайту файл - htaccess.txt в .htaccess.

Ну от і все. Вийшла велика інструкція. Я сподіваюся нічого не пропустив і у вас питань не виникне, а якщо і виникне, то з задоволенням відповім на них в коментарях.

Всім удачі!

Найбільш поширені запитання

1. Не відображаються іконки прапорів в перемикачі мов і в меню?

Простежте за тим, щоб кожному пункту «Головна» кожної мови був привласнений статус головної сторінки. Якщо дана опція включена, то пройдіться по всіх налаштувань ще раз. Може ви неправильно вписали тег мови? Упевнений, зробили щось неправильно!

2. Що робити, якщо немає потрібного мови в Joomla?

Вам необхідно його створити. Як? Якщо в краце, то берете будь-яку мову, качаєте його до себе на комп'ютер і переводите на свою мову по аналогії. Далі встановлюєте. Взагалі це тема для окремої статті. Обов'язково її напишу, а поки ось посилання на joomlaforum - http://joomlaforum.ru/index.php?topic=320561.0

3. Як змінити порядок відображення мов в модулі перемикання мов?

Спробуйте змінити порядок в адмінці «Мови контенту».

Залишилися питання? подивіться відеоінструкцію

Перевірка орфографії

2. Що робити, якщо немає потрібного мови в Joomla?
3. Як змінити порядок відображення мов в модулі перемикання мов?
Залишилися питання?
Де брати значення?
Що це означає?
1. Не відображаються іконки прапорів в перемикачі мов і в меню?
Може ви неправильно вписали тег мови?
2. Що робити, якщо немає потрібного мови в Joomla?
Як?
Php?