【问题标题】:joomla language file not loading other languagesjoomla 语言文件不加载其他语言
【发布时间】:2013-12-12 13:54:58
【问题描述】:

我已经构建了一个发送电子邮件的简单组件。在该组件内部,我的翻译字符串存储在 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

但无论我尝试什么,我总是会英语。

【问题讨论】:

  • 您需要在代码不起作用的地方显示代码。还要确保你已经打开了调试模式,并且错误报告一直向上到 dev。

标签: php joomla joomla2.5


【解决方案1】:

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

【讨论】:

  • 您的建议与我使用language 文件夹相同。感谢您的回复,但这无济于事。
  • 你应该使用 标签而不是 。确保当你将组件安装到 joomla!安装程序将语言文件复制到正确的路径中。
  • 我改用&lt;folder&gt;language&lt;/folder&gt;,因为文档解释是一样的。但无论如何我尝试了你的建议,但我仍然遇到同样的问题。我有很多组件,除了这个之外,它们都翻译得很好。我相信问题在于我如何调用语言文件:$lang-&gt;load('com_mycompnotify', JPATH_SITE, 'pt-BR', true);。这一定有问题。
  • 从 Joomla 1.6 开始不推荐使用 标签,请参阅docs.joomla.org/Manifest_files#Language_files
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-17
相关资源
最近更新 更多