J2.5:Developing a MVC Component/Adding language management

From Joomla! Documentation
< J2.5:Developing a MVC Component(Difference between revisions)
Jump to: navigation, search
(Adding language translation in the public site)
(Adding language translation when managing the component)
Line 37: Line 37:
 
''admin/language/en-GB/en-GB.com_helloworld.ini''
 
''admin/language/en-GB/en-GB.com_helloworld.ini''
 
<source lang="ini">
 
<source lang="ini">
; Joomla16.Tutorials
+
COM_HELLOWORLD_HELLOWORLD_FIELD_MSG_DESC="This message will be displayed"
; Copyright (C) 2005 - 2009 Open Source Matters. All rights reserved.
+
COM_HELLOWORLD_HELLOWORLD_FIELD_MSG_LABEL="Message"
; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php
+
; Note : All ini files need to be saved as UTF-8 - No BOM
+
 
+
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_MSG_LABEL="Message"
+
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_MSG_DESC="This message will be displayed"
+
COM_HELLOWORLD_HELLOWORLD_ID="Id"
+
 
COM_HELLOWORLD_HELLOWORLD_GREETING="Greeting"
 
COM_HELLOWORLD_HELLOWORLD_GREETING="Greeting"
 +
COM_HELLOWORLD_HELLOWORLD_ID="Id"
 
</source>
 
</source>
 
</span>
 
</span>

Revision as of 18:21, 20 November 2010

Template:Future

Articles in this series

Contents


Introduction

This tutorial is part of the Developing a Model-View-Controller (MVC) Component for Joomla!1.6 tutorial. You are encouraged to read the previous parts of the tutorial before reading this.

Joomla!1.6 manages languages for components in four different situations:

  • displaying a component in the public site
  • managing a component in the backend
  • managing menus in the backend
  • installing a component (new in 1.6)

Joomla!1.6 uses two different location folder for languages:

  • one in administrator/language or language
  • one in the component folder (administrator/component/*component*/language or component/*component*/language)

It depends how the component is installed.

Adding language translation in the public site

With your favorite file manager and editor, put a file site/language/en-GB/en-GB.com_helloworld.ini. This file will contain translation for the public part. For the moment, this file is empty

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

 

For the moment, there are no translations strings in this file.

Adding language translation when managing the component

With your favorite file manager and editor, put a file admin/language/en-GB/en-GB.com_helloworld.ini. This file will contain translation for the backend part.

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

COM_HELLOWORLD_HELLOWORLD_FIELD_MSG_DESC="This message will be displayed"
COM_HELLOWORLD_HELLOWORLD_FIELD_MSG_LABEL="Message"
COM_HELLOWORLD_HELLOWORLD_GREETING="Greeting"
COM_HELLOWORLD_HELLOWORLD_ID="Id"

Adding language translation when managing the menus in the backend

With your favorite file manager and editor, put a file admin/language/en-GB/en-GB.com_helloworld.sys.ini. This file will contain translation for the backend part.

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

; Joomla16.Tutorials
; Copyright (C) 2005 - 2009 Open Source Matters. All rights reserved.
; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php
; Note : All ini files need to be saved as UTF-8 - No BOM
 
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE="Hello World"
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_DESC="This view displays a selected message"

Adding translation when installing the component

With your favorite file manager and editor, put a file language/en-GB/en-GB.ini. This file will contain translation for the install.

language/en-GB/en-GB.ini

; Joomla16.Tutorials
; Copyright (C) 2005 - 2009 Open Source Matters. All rights reserved.
; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php
; Note : All ini files need to be saved as UTF-8 - No BOM
 
COM_HELLOWORLD_DESCRIPTION="This is the Hello World description"

The COM_HELLOWORLD_DESCRIPTION can be used in the helloworld.xml file

Packaging the component

Content of your code directory

Create a compressed file of this directory or directly download the archive and install it using the extension manager of Joomla!1.6. You can add a menu item of this component using the menu manager in the backend.

helloworld.xml

<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="1.6.0" method="upgrade">
        <name>Hello World!</name>
        <creationDate>November 2009</creationDate>
        <author>John Doe</author>
        <authorEmail>john.doe@example.org</authorEmail>
        <authorUrl>http://www.example.org</authorUrl>
        <copyright>Copyright Info</copyright>
        <license>License Info</license>
        <version>0.0.8</version>
        <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 -->
                <schemas>
                        <schemapath type="mysql">sql/updates/mysql</schemapath>
                </schemas>
        </update>
 
        <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>
                <menu>Hello World!</menu>
                <files folder="admin">
                        <filename>index.html</filename>
                        <filename>helloworld.php</filename>
                        <filename>controller.php</filename>
                        <folder>sql</folder>
                        <folder>tables</folder>
                        <folder>models</folder>
                        <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>
                </languages>
        </administration>
</extension>

In this helloworld.xml file, languages are installed in:

  • administrator/language for the admin part (look at the xml languages tag)
  • components/com_helloworld/language for the site part (there are no xml languages tag in the site part of the xml description file, but the language folder is included)

Navigate

Prev: Basic backend Next: Adding backend actions

Contributors

Personal tools
Namespaces

Variants
Actions
Navigation
Joomla! Sites
Toolbox