Follow me on...

  • FeedBurner: Joomla15Joomla15
  • Twitter: alexkurgan

Языковые файлы компонента

E-mail Печать

Joomla! 2.5 языковые файлы используются в четырех различных ситуациях:

  • отображение компонента в интерфейсе пользователя
  • управление компонентом в интерфейсе администратора
  • при создании пункта меню для компонента
  • при установке компонента (введено с версии 1.7)

Joomla! 2.5 для хранения языковых файлов использует 2 каталога (в зависимости от того как установлен компонент):

  • administrator/language или language
  • administrator/component/*component*/language или component/*component*/language

Языковый файл для интерфейса пользователя

Создайте файлы site/language/en-GB/en-GB.com_helloworld.ini и site/language/ru-RU/ru-RU.com_helloworld.ini, эти файлы содержат перевод для интерфейса пользователя. Пока эти файлы будут пустые.

Языковый файл для интерфейса администратора

Создайте файлы admin/language/en-GB/en-GB.com_helloworld.ini и admin/language/ru-RU/ru-RU.com_helloworld.ini,  эти файлы содержат перевод для интерфейса администратора.

admin/language/en-GB/en-GB.com_helloworld.ini

COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_DESC="This message will be displayed"
COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_LABEL="Message"
COM_HELLOWORLD_HELLOWORLD_HEADING_GREETING="Greeting"
COM_HELLOWORLD_HELLOWORLD_HEADING_ID="Id"

admin/language/ru-RU/ru-RU.com_helloworld.ini

COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_DESC="Сообщение для отображения"
COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_LABEL="Сообщение"
COM_HELLOWORLD_HELLOWORLD_HEADING_GREETING="Приветствие"
COM_HELLOWORLD_HELLOWORLD_HEADING_ID="Id"

Языковый файл используемый при создании пункта меню

Создайте файлы admin/language/en-GB/en-GB.com_helloworld.sys.ini и admin/language/ru-RU/ru-RU.com_helloworld.sys.ini

admin/language/en-GB/en-GB.com_helloworld.sys.ini

COM_HELLOWORLD="Hello World!"
COM_HELLOWORLD_DESCRIPTION="This is the Hello World description"
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE="Hello World"
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_DESC="This view displays a selected message"
COM_HELLOWORLD_MENU="Hello World!"

admin/language/ru-RU/ru-RU.com_helloworld.sys.ini

COM_HELLOWORLD="Привет МИР!!!"
COM_HELLOWORLD_DESCRIPTION="Это описание нашего компонента Привет МИР!"
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE="Привет Мир"
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_DESC="Выберите вариант отображения"
COM_HELLOWORLD_MENU="Привет Мир!"

Языковый файл используемый при установке компонента

Создайте файлы language/en-GB/en-GB.com_helloworld.sys.ini и language/ru-RU/ru-RU.com_helloworld.sys.ini

language/en-GB/en-GB.com_helloworld.sys.ini

COM_HELLOWORLD="Hello World!"
COM_HELLOWORLD_DESCRIPTION="This is the Hello World description"

language/ru-RU/ru-RU.com_helloworld.sys.ini

COM_HELLOWORLD="Привет Мир!"
COM_HELLOWORLD_DESCRIPTION="Простой компонент приветствия"

Измените файл helloworld.xml:

замените строку

<name>com_helloworld</name>

на

<name>COM_HELLOWORLD</name>

строку

<menu>Привет МИР!</menu>

на

<menu>COM_HELLOWORLD_MENU</menu>

строку

<description>Это простой компонент приветствия ...</description>

на

<description>COM_HELLOWORLD_DESCRIPTION</description>

в секцию <files folder="site"> добавьте строку

<folder>language</folder>

в секцию <administration> добавьте строки

<languages folder="admin">
    <language tag="en-GB">language/en-GB/en-GB.com_helloworld.ini</language>
    <language tag="en-GB">language/en-GB/en-GB.com_helloworld.sys.ini</language>
    <language tag="ru-RU">language/ru-RU/ru-RU.com_helloworld.ini</language>
    <language tag="ru-RU">language/ru-RU/ru-RU.com_helloworld.sys.ini</language>
</languages>

В итоге файл helloworld.xml будет содержать следующий код:

<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="2.5.0" method="upgrade">
 
	<name>COM_HELLOWORLD</name>
	<!-- The following elements are optional and free of formatting constraints -->
	<creationDate>Март 2012</creationDate>
	<author>Имя автора</author>
	<authorEmail>автор@домен.рф</authorEmail>
	<authorUrl>http://домен.рф</authorUrl>
	<copyright>Copyright Info</copyright>
	<license>Лицензия</license>
	<!--  The version string is recorded in the components table -->
	<version>0.0.8</version>
	<!-- The description is optional and defaults to the name -->
	<description>COM_HELLOWORLD_DESCRIPTION</description>
 
	<install> <!-- Runs on install -->
		<sql>
			<file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file>
		</sql>
	</install>
	<uninstall> <!-- Runs on uninstall -->
		<sql>
			<file driver="mysql" charset="utf8">sql/uninstall.mysql.utf8.sql</file>
		</sql>
	</uninstall>
	<update> <!-- Runs on update; New in 2.5 -->
		<schemas>
			<schemapath type="mysql">sql/updates/mysql</schemapath>
		</schemas>
	</update>
 
	<!-- Site Main File Copy Section -->
	<!-- Note the folder attribute: This attribute describes the folder
		to copy FROM in the package to install therefore files copied
		in this section are copied from /site/ in the package -->
	<files folder="site">
		<filename>index.html</filename>
		<filename>helloworld.php</filename>
		<filename>controller.php</filename>
		<folder>views</folder>
		<folder>models</folder>
		<folder>language</folder>
	</files>
 
	<administration>
		<!-- Administration Menu Section -->
		<menu>COM_HELLOWORLD_MENU</menu>
		<!-- Administration Main File Copy Section -->
		<!-- Note the folder attribute: This attribute describes the folder
			to copy FROM in the package to install therefore files copied
			in this section are copied from /admin/ in the package -->
		<files folder="admin">
			<!-- Admin Main File Copy Section -->
			<filename>index.html</filename>
			<filename>helloworld.php</filename>
			<filename>controller.php</filename>
			<!-- SQL files section -->
			<folder>sql</folder>
			<!-- tables files section -->
			<folder>tables</folder>
			<!-- models files section -->
			<folder>models</folder>
			<!-- views files section -->
			<folder>views</folder>
		</files>
		<languages folder="admin">
		    <language tag="en-GB">language/en-GB/en-GB.com_helloworld.ini</language>
		    <language tag="en-GB">language/en-GB/en-GB.com_helloworld.sys.ini</language>
		    <language tag="ru-RU">language/ru-RU/ru-RU.com_helloworld.ini</language>
		    <language tag="ru-RU">language/ru-RU/ru-RU.com_helloworld.sys.ini</language>
		</languages>
	</administration>
 
</extension>

Языковые файлы будут установлены и располагаться по следующему пути:

  • administrator/language для интерфейса администратора
  • components/com_helloworld/language для интерфейса пользователя

Создайте архив с компонентом, установите его на сайт.

Скачать архив для этой части курса

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Mark
 
Интересная статья? Поделись ей с другими: