Understanding Language Files in Joomla 3.1

Language files are text files in Joomla 3.0 that basically list a set of common words for a specific language. The English language file may define a greeting as Hello, while a Spanish language file would define greeting as Hola.

There are many words in your Joomla 3.0 site that are printed using this type of reference. For example, if Joomla wanted to print “greeting” on your screen, the php code would reference something like GREETING. Then, based upon the language Joomla is using, it will determine the appropriate word to use, Hello or Hola.

Let’s take a look at a real life example

written-by

If you click on the Screenshot to the right, you will see highlighted where Joomla writes, “Written by”, referring to who wrote the article. In our example, we have two authors showing:

  1. Written by Super User
  2. Written by Joomla
 

How are language files used?

That text, Written by, is actually defined in the following language files:

FileConstantValue
language/en-GB/en-GB.com_content.iniCOM_CONTENT_WRITTEN_BYWritten by%s
language/es-ES/es-ES.com_content.iniCOM_CONTENT_WRITTEN_BYEscrito por%s

Because we have both English and Spanish installed, the Written by language will change based upon which language we have our site set to use.

When the Joomla code references the Constant, COM_CONTENT_WRITTEN_BY, it replaces it with the Value defined in the language file. The value, in this case, includes %s. That variable, %s, will be replaced by the author of the article. So, if the article was written by Bob:

The Joomla code would read:The result on your website would be:
<?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', $author); ?>
If English:
Written byBob

If Spanish:
Escrito porBob

 

How can I change language files?

Very good question! Technically you can simply edit the language file but it is not recommended. Instead, click here to learn more about Using Language Overrides in Joomla 3.0 to change language text.

Was this article helpful? Join the conversation!