Языки

Добавление новых текстов

Для добавления дополнительных языковых строк существует специальный файл.

Найти его можно в каждой языковой директории (например: /lang/ru-ru/), название файла: custom.inc.php

В файле есть пример добавления нового текста: $L['sample'] = 'Sample';

$L['sample'] - название переменной, меняйте текст внутри кавычек на уникальный, латиницей и цифрами.

'Sample'; - сам текст, обязательно внутри кавычек, длинна не ограничена.

Обязательно следите за синтаксисом. Не теряйте кавычки и точку с запятой в конце каждой строки.

Для использования добавленного текста - вставьте в шаблон его переменную выделенную фигурными скобками, например: {$L['sample']}


Добавление нового языка

Переходите в раздел: Система - Языки

Системный язык: Русский и удалять его нельзя.

Добавляем новый язык, предварительно создав на сервере директорию языка с файлами языков. Смотрите раздел: Обучение - Языковые версии сайта

Название - вводите название языка. Например Francais

Директория - выбираете созданную вами директорию языка

Язык валют - выбираете язык, на котором будут выведены названия валют. Пока поддерживаются Русский и English

Язык карт - выбираете язык, на котором будут работать карты. Пока поддерживаются Русский и English

Карты по умолчанию не используются. Вы можете добавить карту Яндекс. Смотрите раздел: Настройки плагина Контакты


Перевод на добавленный язык

Следующий шаг, перевод всех разделов вашего сайта.

Названия модулей, категорий, групп пользователей, настроек модулей и т.д.

Предварительно включите мультиязычность в разделе: Настройки - Конфигурация - Мультиязычность

Пример перевода названия модулей:

Переходите в раздел: Настройки - Модули

Изменяете настройки модуля, выбираете язык и задаёте название для выбранного языка. Оптимально предварительно переключится на фронтенде на тот язык, на который собираетесь переводить.

В этом случае язык будет уже выбран.

Пример перевода категорий:

В списке созданных вами категорий вводите названия категорий на выбранном языке и сохраняете настройки.

Пример перевода SEO настроек модуля:

В настройках модуля заполняете все поля, где есть переключение языка. Или используете переменные:


Префиксы мультиязычности

Опция добавляет префиксы языков для индексации сайта поисковиками на разных языках. Опция выполнена по рекомендациям Google Структура URL - Подкаталоги с gTLDarrow-up-right

Опция включается в разделе Настройки - Конфигурация - Использовать префиксы мультиязычности. На сервере должен быть установлен mod_rewrite, в противном случае префиксы работать не будут.

Если используете префиксы мультиязычности, откройте .htaccess и расскомментируйте строку ниже.

Строка должна выглядеть так:

RewriteRule ^(/|index.php)?$ /ru/ [R,L]

Возможность переключения языка пользователем - опция должна быть включена, если включаете префиксы мультиязычности.

Если используете опцию, то сгенерируйте новый Google Sitemap в разделе Модули/Плагины - Настройки - Google Sitemap

Если вы используете по умолчанию не русский язык, то необходимы изменения в файле .htaccess, который находится в корне вашего сервера.

Откройте .htaccess и найдите:

RewriteRule ^(/|index.php)?$ /ru/ [R,L]

/ru/ меняете на нужный вам префикс, в зависимости от включенного на вашем сайте языка по умолчанию.

Название префикса должно быть начальным названием директории добавленного языка.

Например: /en/ или /fr/ или /uz/ и так далее...

Обязательно обновляйте весь кэш, после включения или выключения опции.


Иконки языков

По умолчанию используются фоновые иконки (файл стилей фоновых иконок здесь: skin/default/flag.css)

Иконка определяется, исходя из кода директории языков. Учитывайте это при добавлении директории языков.

Если у вас собственный дизайн и вы хотите вывести иконки флагов НЕ фоновыми изображениями, а обычными.

В этом случае используйте этот код для переключения языков в шаблоне header.htm.

{if $CFG['lang_switch'] && count($VCM_LANGS)>1} {loop $VCM_LANGS $k $v} <img src="{VCM_PATH}lang/{$k}/icon.png" onClick="lang_switch('{$k}');" alt="{$v}" style="opacity: 0.8;cursor:pointer;" border="0"> {/loop} {/if}

Last updated