Локализация Joomla
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2102
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2435
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2451
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2456
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2461
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2467
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2479
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2496
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2497
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2498
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2499
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2517
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2518
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2519
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2520
Deprecated: Non-static method MagicWord::get() should not be called statically, assuming $this from incompatible context in /home/clients/newman_ftp0/domains/wiki.pws.ru/html/includes/Parser.php on line 2550
Материал из Newman's WiKi.
Версия 09:33, 19 июня 2009 WikiSysop (Обсуждение | вклад) ← К предыдущему изменению |
Текущая версия WikiSysop (Обсуждение | вклад) (→Формат файла) |
||
Строка 2: | Строка 2: | ||
== Класс JText == | == Класс JText == | ||
- | Данный класс занимается переводом текстовых строк. | + | Данный класс занимается переводом текстовых строк. Для того что бы ваш компонент, модуль или плагин поддерживал различные языки надо любой вывод текста делать через методы класса '''JText'''. Самый простой метод это метод '''_''' (подчеркивание). Данный метод берет строку полученную в качестве аргумента и переводит ее на активный язык. Если для данной строки нет перевода, то она выводится как есть. |
+ | <pre> | ||
+ | echo JText::_('Hello world'); | ||
+ | </pre> | ||
+ | |||
+ | == Языковые файлы == | ||
+ | === Формат файла === | ||
+ | Языковые файлы являются файлами формата INI. В качестве ключа используется строка для перевода, а в качестве значения перевод. Замеченно что в Joomla строка в ключе указывается с использованием верхнего регистра. При создании языкового файла следует учитывать все пробельные и служебные символы. Значения строк необходимо писать в кодировке UTF-8. | ||
+ | <pre> | ||
+ | HELLO WORLD=Привет всем | ||
+ | </pre> | ||
+ | |||
+ | === Расположение и соглашение о имени файла === | ||
+ | Файлы перевода могут распологаться в папке '''/language''' - для пользовательской части и в папке '''/administrator/language''' - для админки. Пути указаны относительно корневой папки Joomla. | ||
+ | |||
+ | Внутри этих папок распологаются папки для конкретных языков. В качестве примера: | ||
+ | * ru-RU - русский | ||
+ | * en-GB - английский(Великобритания) | ||
+ | |||
+ | Файл с переводом имеет префикс, указывающий на используемый язык, название компонента, модуля или плагина и расширение ini. Так файл русского языка для компонента helloworld будет иметь следующие имя: '''ru-RU.com_helloworld.ini''' | ||
+ | |||
+ | === Прописывание в инсталяторе компонента === | ||
+ | Для установки файлов языковой поддержки в файле инсталяции есть секция '''languages''' | ||
+ | <pre> | ||
+ | <languages> | ||
+ | <language tag="en-GB">en-GB.com_helloworld.ini</language> | ||
+ | <language tag="ru-RU">ru-RU.com_helloworld.ini</language> | ||
+ | </languages> | ||
+ | </pre> | ||
+ | Эту секцию можно использовать как в клиентской так и в админской части инсталятора. | ||
[[Категория:Joomla]] | [[Категория:Joomla]] |
Текущая версия
Локализация позволяет использовать различные языки в интерфейсе без переписывания кода. Изначально обходились константами описаными в разных файлах языков. А в зависимости от активного языка подключался нужный файл. В основном о том что бы активировать язык должен был заботиться программист. В версии Joomla 1.5.x возможности локализации встроенны в систему.
Содержание |
Класс JText
Данный класс занимается переводом текстовых строк. Для того что бы ваш компонент, модуль или плагин поддерживал различные языки надо любой вывод текста делать через методы класса JText. Самый простой метод это метод _ (подчеркивание). Данный метод берет строку полученную в качестве аргумента и переводит ее на активный язык. Если для данной строки нет перевода, то она выводится как есть.
echo JText::_('Hello world');
Языковые файлы
Формат файла
Языковые файлы являются файлами формата INI. В качестве ключа используется строка для перевода, а в качестве значения перевод. Замеченно что в Joomla строка в ключе указывается с использованием верхнего регистра. При создании языкового файла следует учитывать все пробельные и служебные символы. Значения строк необходимо писать в кодировке UTF-8.
HELLO WORLD=Привет всем
Расположение и соглашение о имени файла
Файлы перевода могут распологаться в папке /language - для пользовательской части и в папке /administrator/language - для админки. Пути указаны относительно корневой папки Joomla.
Внутри этих папок распологаются папки для конкретных языков. В качестве примера:
- ru-RU - русский
- en-GB - английский(Великобритания)
Файл с переводом имеет префикс, указывающий на используемый язык, название компонента, модуля или плагина и расширение ini. Так файл русского языка для компонента helloworld будет иметь следующие имя: ru-RU.com_helloworld.ini
Прописывание в инсталяторе компонента
Для установки файлов языковой поддержки в файле инсталяции есть секция languages
<languages> <language tag="en-GB">en-GB.com_helloworld.ini</language> <language tag="ru-RU">ru-RU.com_helloworld.ini</language> </languages>
Эту секцию можно использовать как в клиентской так и в админской части инсталятора.