Actions

Amending the templateDetails.xml file

From Joomla! Documentation

Revision as of 06:26, 4 May 2009 by Felham (Talk | contribs)

To ensure that your template is fully internationalised you must make sure that certain XML elements are translated and that the language definition files are listed in the templateDetails.xml file.

Translating templateDetails.xml

A couple of the elements in the templateDetails.xml file are used in the Template Manager and are themselves translatable. These should always be translated.

name Name of the template. For example, Beez
description Description of the template.

These fields are also shown to the user during template installation. [[[ Check: These did not get translated at one time. Has this been fixed? ]]]

Adding language definition files to templateDetails.xml

All language files must be declared in the templateDetails.xml file. This is done by adding two <language> elements for each language to be included with the template; one for the front-end strings; the other for the administrator back-end strings. For example, the two British English language files and the two German language files for the Beez template are declared as follows

<?xml version=”1.0” encoding=”utf-8” ?>
<install version=”1.5” type=”template”>
 
     .........
 
    <languages>
        <language tag=”en-GB”>en-GB.tpl_beez.ini</language>
        <language tag=”de-DE”>de-DE.tpl_beez.ini</language>
    </languages>
 
     .........
 
    <administration>
        <languages folder=”admin”>
            <language tag=”en-GB”>en-GB.tpl_beez.ini</language>
            <language tag=”de-DE”>de-DE.tpl_beez.ini</language>
        </languages>
    </administration>
 
</install>

Note that in the administration <languages> tag the folder attribute is used. This is because the language files for the front-end and back-end have the same file names and so cannot exist in the same directory within the template package file. In this example, the administration language files have been placed in a sub-directory called admin to separate them from the front-end language files.