joomla语言文件未加载其他语言

时间:2013-12-12 13:54:58

标签: php joomla joomla2.5

我已经构建了一个发送电子邮件的简单组件。在该组件内部,我将翻译字符串存储在ini中。以下是我所做的一些示例代码:

$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

但无论我尝试什么,我总能得到英语。

1 个答案:

答案 0 :(得分:0)

要在组件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的官方网站下载多种语言的翻译。