bLang можна встановити як з репозиторія (версія 1.0.1b), так і завантажити архів з гітхаба.
Після встановлення необхідно в htaccess перед # For Friendly URLs додати код
RewriteRule ^([a-z]{2})$ $1/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z]{2})/(.*)$ index.php?q=$2&lang=$1 [L,QSA]
Після заходимо в модуль bLang на вкладку конфігурація і підганяємо конфіг під себе.
Інші налаштування менш важливі.
Переходимо на вкладку Параметри. Тут можна створювати багатомовні TV. Логіка проста, ви створюєте один параметр в модулі, а bLang сам автоматично робить дубль під кожну мову з урахуванням суфікса.
Для зручності є кнопка "Додати стандартні параметри", вона автоматом в модулі створить основні поля такі як (titl,desc,pagetitle,description). Після необхідно тільки прив'язати до шаблонів.
bLang може автоматично визначити, на яку вкладку необхідно закинути тв поле, на підставі значення з інпута "Назва вкладки".
Якщо там записано seo. [lang] - це значить, що поле titl_en додасть на вкладку seo в секцію en.
Якщо записано [lang], тв поле pagetitle_en буде на вкладці en.
Якщо записно main, тв поле незалежно від мови буде на вкладці main.
Якщо ви використовуєте manager, достатньо в чанк додати код
$bLangModuleObj = new \bLang\bLangModule($modx,'','');
$bLangModuleObj->getMMRules();
Якщо використовуєте templateedit3, і вам потрібно додати вкладки після General
$bLangModuleObj = new \bLang\bLangModule($modx,$modulePath,$moduleurl);
$config = $bLangModuleObj->te3AddAfter('General',$config);
Якщо використовуєте templateedit3, і вам потрібно просто отримати список вкладок, які bLang згенерував
$bLangModuleObj = new \bLang\bLangModule($modx,$modulePath,$moduleurl);
$bLangModuleObj->getTE3Rules();
Всі написи які є в шаблоні, і їх потрібно переводити необхідно додавати в словник. Він знаходиться в модулі bLang на вкладці Словник. В колонку назви пишіть ключ, за яким будете отримувати значення в шаблоні. В шаблоні можна отримати через.
[(__name)]
В сніпеті
$modx->getConfig('__name');
Після ініціалізації bLang в $ modx-> config записує крім словника, кілька спец. полів
[(_lang)] - ключі поточної мови [(_root)] - префікс урла для поточної мови [(_suffix)] - суфікс полів для поточної мови [(_en_url)] - урл поточної сторінки для en мови
ЕЯкщо включено "Автоматично підставляти поля в $ modx-> documentObject" і "Автоматично підставляти префікс (_root) для урлів", то в шаблоні, як і зазвичай можна писати
[*pagetitle*]
[~[*id*]~]