You are missing the declaration of the en-GB subfolder in your xml file path. xml: language / en-GB.com_helloword.sys.ini, while language / en -GB / en-GB.helloworld.sys.ini and path: language / en -GB / en-GB.helloworld.sys. ini the same pattern applies to other language files.
*, since you are making changes and the source code, including the full xml code with corrections (file path and closing extension tag)
`
<?xml version="1.0" encoding="utf-8"?>
<name>com_helloworld</name> <creationDate>November 2009</creationDate> <author>David Thorn</author> <authorEmail> info@thornwebdesign.org </authorEmail> <authorUrl>http://www.example.org</authorUrl> <copyright>Copyright Info</copyright> <license>License Info</license> <version>1.0.0.1</version> <description>Description of the Hello World component ...</description> <files folder="site"> <filename>index.html</filename> <filename>helloworld.php</filename> <filename>controller.php</filename> <folder>css</folder> <folder>js</folder> <folder>views</folder> <folder>models</folder> <folder>controllers</folder> <folder>helpers</folder> <folder>language</folder> </files> <languages folder="site"> <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> <menu>com_helloworld</menu> <files folder="admin"> <filename>index.html</filename> <filename>helloworld.php</filename> <filename>controller.php</filename> <folder>css</folder> <folder>js</folder> <folder>views</folder> <folder>models</folder> <folder>controllers</folder> <folder>helpers</folder> <folder>language</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>
`(cannot include the tag for opening and closing the extension, for some reason it will not be printed, be sure to include them correctly)
for your other problem, in your helloworld.php, you probably need to import the joomla controller library:
jimport('joomla.application.component.controller');
after
defined('_JEXEC') or die('Restricted access');
and replace this:
$controller = JController::getInstance('Helloworld');
with this:
$controller = JControllerLegacy::getInstance('Helloworld');
source share