Translation through language ini files is a common feature in Joomla!

Many extensions use it, and it is a big relief for both developers and users...

This tiny article will explain in short how to translate something using an ini file.

But first of all, what is an ini file?

An ini file (short for initialization, mostly due to origin reasons) is a text file, using a very common key value format to save settings.

In short, an ini file is where most of the programs save common settings.


Then why do I want such a file?

Joomla! has decided to use these files for a very practical reason. Translation.

But let's get into practice, right away! No more talking.


From Theory to Practice

To find these files, we go to our site_root/language/en-GB directory.

That's the language directory of an English website. Other codes exist, like fr-FR for French, es-ES for Spanish, el-GR for Greek, and so on.

In there, you will see many files with names like:


As soon as you open a file,

you will see its contents look something like:

KEY_IN_CAPITAL_LETTERS_NO_SPACES="Value in small, capital or any letters"

The left part of the equation (in RED) is the Key, always in CAPITAL letters.

The right part (in BLUE), is the Value, written exactly as you want it to appear.

To translate, or change the text, not necessarily in another language, you just change the Value (in BLUE).

That's all!


Please note that as of Joomla 1.6, it is required that these texts keep a strict format:

KEY_LEFT_WITHOUT_SPACES_IN_CAPITALS="Value with any letters, but enclosed in double quotes"

Here I have also included a small part of the en-GB.com_nspro.ini to have a small idea on what it looks like (the coloring is used to help in this demonstation, and is not part of the real file):


NO_NEWSLETTERS_FOUND="No Newsletters found"
UNSUBSCRIBE_FROM_NEWSLETTER="Unsubscribe from Newsletter"
NO_EMAIL_SPECIFIED="No email specified"
INVALID_EMAIL_SPECIFIED="Invalid email specified"


P.S.: Never forget to keep these files in UTF-8 formatting, while saving..!