It has been suggested that this article or section be split into specific version Namespaces. (Discuss). If version split is not obvious, please allow split request to remain for 1 week pending discussions. Proposed since 19 months ago.
Is this version specific? Are there differences in debugging from 1.5, 2.5 and 3.x? If so, let's split it up or mark it better.
Joomla supports some useful debugging mechanisms that can make it easier to locate untranslated strings and diagnose problems with language translations in installed extensions.
You activate language debugging via the Administration Back-end by going into Global Configuration and clicking on the System tab. Find the Debug Language field, change the value to “Yes” and save your changes.
With this option active all translatable strings are shown surrounded with special characters that indicate their status
|●Joomla CMS●||(text surrounded by bullets) indicates that a match has been found in the language definition file and the string has been translated.|
|??Joomla CMS??||(text surrounded by pairs of question marks) indicates that the string is translatable but no match was found in the language definition file.|
|Joomla CMS||(text with no surrounding characters) indicates that the string is not translatable.|
Additional language debugging information can be obtained by activating system debugging. This is done by going into Global Configuration and clicking on the System tab. Find the Debug System field, change the value to “Yes” and save your changes.
With this option active all screens have additional debugging information at the end of each page. Currently this includes
This system plugin controls what is displayed when debugging is activated in Global Configuration. It is enabled by default. You can access the parameters for the plugin from Extensions → Plugin Manager. Locate the “System - Debug” plugin and click on it. There are three settings of interest to translators.
Note that the display of untranslated strings will only display the value passed to the appropriate JText method. For example, with the following code:
echo JText::_( 'Reports Import Configuration' );
If untranslated, Designer mode will display this as:
# /administrator/components/com_reports/views/reports/tmpl/default.php REPORTS IMPORT CONFIGURATION=Reports Import Configuration
If the Strip Key Prefix is set to "Reports", then the display would change slightly to:
# /administrator/components/com_reports/views/reports/tmpl/default.php REPORTS IMPORT CONFIGURATION=Import Configuration
Note that the path shown is only a best guess based on a call to the PHP debug_backtrace function. Sometimes it is accurate, sometimes it is not and there are also cases where no file could be determined. In those cases you have to use your best judgement.