Работа с языковыми файлами Работа с языковыми файлами

Избранные вопросы работы с языковыми файлами. Локализация CMS

Локализация - это один из важнейших этапов на пути создания сайтов с мультиязычным контентом.
Суть данной статьи научить пользоваться встроенными в Cotonti возможностями работы языковыми файлами.

Работа с локализациями в Cotonti по сравнению с Seditio имеет некоторые особенности. Первое, языковые файлы расширены и дополнены дополнительными массивами (например, названия стран). Второе, теперь появилась возможность локализации админ-панели плагинов.

Этапы загрузки файлов локализации:
Сначала идет загрузка файлов локализации системы – затем загрузка файлов локализации скина и лишь в последнюю очередь загрузка системы локализации плагинов.
Загрузка каждого следующего файла может перекрывать переменные с предыдущего языкового файла. Это условие необходимо учитывать при написании собственных скинов и плагинов.

Локализация или изменение языкового файла?
Требуется различать эти два понятия. При первом вы создаете новую локализацию CMS, тем самым полностью редактируете все строчки языковых файлов и переводите полностью языковой пакет Cotonti. Во втором случае вы редактируете лишь часть файлов локализации. Настоятельно рекомендуется не изменять системные файлы, так как после изменения любых системных файлов могут возникнуть проблемы с последующим обновлением системы. Поэтому для изменения значения определенных строк языкового файла рекомендуется использование специальных файлов скина.
Рассмотрим два простых примера изменения локализации.
Задача 1. Требуется изменить слово «править» на слово «редактирование»:
Открываем в текстовом редакторе
…\system\lang\ru\main.lang.php 
Находим слово «править» (строка 87), копируем всю строку
$L['Edit'] = 'Править';
И вставляем ее в файл
…\skins\{имя_скина}\{имя_скина}.ru.lang.php
После вставки заменяем значение переменной $L[‘Edit’] на «редактирование». Сохраняем.
Задача 2. Изменить название страны «Соединенные Штаты Америки» на «США»
Открывает теже 2 файла находим массив $sed_countries, ищем ключ, которому соответствует требуемая страна – это ключ 'us', вот он собственно нам и нужен. Затем в файле локализации добавляем строку:
$sed_countries[‘us’]=’США’;
Сохраняем.
Легко? Эффективно? Быстро? И никакого изменения файлов системы.

Перевод админ-панели плагинов.
Сталкивались ли вы с такой проблемой: установили новый плагин, заходите, чтобы его настроить, а в «админке» все на английском языке, что создает определенной роли дискомфорт. Теперь появилась возможность исправить данную проблему.
Рассмотрим решение на конкретном примере.

Открываем файл {плагин}.setup.php, находим там раздел BEGIN_SED_EXTPLUGIN_CONFIG:
[BEGIN_SED_EXTPLUGIN_CONFIG]
category=01:string::news:Category code of the parent category
maxpages=02:select:0,1,2,3,4,5,6,7,8,9,10,15,20,25,30,50,100:10:Recent pages displayed
[END_SED_EXTPLUGIN_CONFIG]
Видим, что есть 2 параметра с именами «category» и «maxpages» (имена параметров указаны до символа «=»).
Открываем языковой файл плагина или при необходимости создаем его (…\plugins\{плагин}\lang\{плагин}.ru.lang.php; содержимое файла по аналогии с другими плагинами).

В лэнг файле добавляем строчки:
$L['cfg_category']= array('Код родительской категории');
$L['cfg_maxpages']= array('Отображать страниц', 'количество отображаемых элементов');

Замечания.
  • Для перевода админ-панели используется только массив $L
  • Ключ состоит из: префикса «cfg_», и имени параметра
  • Значения представляются в виде массива, где первый элемент название поля, а второй комментарий или пояснение значений поля, выводится рядом со значениями данного параметра конфигурации.
  • Не обязательно должен быть в языковом файле, т.е. если отсутствуют данные строки, то имена берутся из setup файла плагина.

Надеемся, данная информация поможет Вам при создании Ваших собственных локализаций Cotonti CMS, а также локализации плагинов для этой системы. И напоследок, хотелось бы отметить, команда разработчиков Cotonti всячески приветствует перевод системных языковых файлов на ваш родной язык. Это способствует распространению нашей системы, популяризации ее, улучшению качества поддержки, внедрению новых возможностей.


Henüz yorum yapılmamış
Sadece kayıtlı kullanıcılar yeni yorum yapabilir.