我已经构建了一个发送电子邮件的简单组件。在这个组件里面,我有我的翻译字符串存储在ini中。下面是我做的一些示例代码:joomla语言文件未加载其他语言
$body = $this->getDetails["name"]." ".JText::_('COM_MYCOMPNOTIFY_MAIL_BODY1')."\n\n".
JText::_('COM_MYCOMPNOTIFY_MAIL_BODY2')." ".$this->getDetails["name"]."\n\n".
JText::_('COM_MYCOMPNOTIFY_MAIL_BODY3')." http://".$this->getDetails["domain"]."\n";
此目录结构我有我的组件具有
language
en-GB
en-GB.com_mycompnotify.ini
pt-BR
pt-BR.com_mycompnotify.ini
我安装的XML文件中有这样的:
<files folder="site">
<filename>index.html</filename>
...
<folder>helpers</folder>
<folder>language</folder>
</files>
这工作正常为en-GB
语言。但我无法翻译为pt-BR
。我认为问题是我有一个调用我的组件的外部php文件。所以它不知道加载pt-BR语言文件(我认为)。
于是,我就用它强制负载:
$lang = JFactory::getLanguage();
$lang->load('com_mycompnotify', JPATH_BASE, 'pt-BR'); //also tried JPATH_SITE
但无论我怎么努力,我总是得到英语。
您需要显示代码不工作。还要确保你已经启动了调试模式,并且错误报告一直转到开发。 – Craig