joomla语言文件未加载其他语言
问题描述:
我已经构建了一个发送电子邮件的简单组件。在这个组件里面,我有我的翻译字符串存储在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
但无论我怎么努力,我总是得到英语。
答
在组件XML文件中指定的语言文件,你应该增加财产以后这样的:
<languages folder="admin">
<language tag="en-GB">language/en-GB/en-GB.com_NAME.ini</language>
<language tag="en-GB">language/en-GB/en-GB.com_NAME.sys.ini</language>
<language tag="pt-BR">language/pt-BR/pt-BR.com_NAME.ini</language>
<language tag="pt-BR">language/pt-BR/pt-BR.com_NAME.sys.ini</language>
</languages>
,如果你只Not just for administrator
边开发一个组件,您可以添加网站语言,像这样的文件:
<languages folder="site">
<language tag="en-GB">language/en-GB/en-GB.com_NAME.ini</language>
<language tag="en-GB">language/en-GB/en-GB.com_NAME.sys.ini</language>
<language tag="pt-BR">language/pt-BR/pt-BR.com_NAME.ini</language>
<language tag="pt-BR">language/pt-BR/pt-BR.com_NAME.sys.ini</language>
</languages>
以及joomla使用非英语的语言文件,您应该将网站的语言更改为您的母语。您可以从joomla的官方网站下载多种语言的翻译。
您需要显示代码不工作。还要确保你已经启动了调试模式,并且错误报告一直转到开发。 – Craig