Joomla 1.5: Создание плагинов группы Content - INI - файл плагина

Joomla 1.5: Создание плагинов группы Content - INI - файл плагина

Индекс материала
Joomla 1.5: Создание плагинов группы Content
PHP - файл плагина
INI - файл плагина
Все страницы

INI - файл (ы) плагина

Для мульти язычной поддержки принято использовать INI - файлы. Перевод будет работать  в следующих местах:

  • Тэги XML файла – манифеста, например:  <description></description>
  • XML атрибуты label  и description из тегов <param />  файла – манифеста
  • JText:: _ (здесь);

Языковых файла, если вы взялись за это конечно, возможно придётся создать два ( для одного языка ) : один для админки и один для сайта. Назвать их нужно соответственно пути расположения вашего плагина. Например, если бы мы создавали плагин контента, названный ' example', и он установлен в plugins/content/example, то тогда  файлы нужно назвать так:

  • en-US.plg_content_example.ini (Frontend)
  • en-US.plg_content_example.sys.ini (Site)

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

<param name="mode" type="list" default="1" label="PLG_CONTENT_EXAMPLE_MODE" description="PLG_CONTENT_EXAMPLE_EMAILS_DISPLAYED">
   <option value="0">PLG_CONTENT_EXAMPLE_NONLINKABLE_TEXT</option>
   <option value="1">PLG_CONTENT_EXAMPLE_LINKABLE_TEXT</option>
</param>

Локализованные строки переведены в ini файле:

PLG_CONTENT_EXAMPLE_MODE=Mode
PLG_CONTENT_EXAMPLE_EMAILS_DISPLAYED=Select how the e-mails will be displayed
PLG_CONTENT_EXAMPLE_NONLINKABLE_TEXT=Nonlinkable text
PLG_CONTENT_EXAMPLE_LINKABLE_TEXT=As linkable mailto address

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

Итак, для мульти язычности, требуются, собственно сами файлы перевода. Далее их нужно прописать в xml – файле – манифесте. В INI - файле – переводе, то, что слева от знака = - это, что - то вроде констант, и они будут одинаковыми для всех файлов переводов, а меняться в зависимости от языка, будет то, что стоит справа. Например, голландская версия выглядела бы так:

PLG_CONTENT_EXAMPLE_MODE=Modus
PLG_CONTENT_EXAMPLE_EMAILS_DISPLAYED=Selecteer hoe de e-mails worden weergegeven
PLG_CONTENT_EXAMPLE_NONLINKABLE_TEXT=Niet-linkbare tekst
PLG_CONTENT_EXAMPLE_LINKABLE_TEXT=Als een linkbaar mailto adres

Что бы перевод начал работать вы должны в php файле плагина загрузить языковой файл:

$lang = JFactory::getLanguage();
$lang->load('plg_content_simpleattachment', JPATH_ADMINISTRATOR);
echo $JText::_('PLG_CONTENT_EXAMPLE_LINKNAME');

Ну вот, пока всё. Оригинал статьи



Добавить комментарий


Защитный код
Обновить



Кто на сайте
Сейчас 109 гостей онлайн