Joomla不加载语言文件

时间:2016-07-26 08:50:14

标签: php joomla

我对所有内容进行了双重和三重检查,并对文档进行了双重和三重阅读,但我的Joomla插件拒绝从语言文件中读取。

我的xml文件配置如下:

<files>
    <filename plugin="fruits">fruits.php</filename>
    <folder>language</folder>
</files>
<languages>
    <language tag="en-GB">language/en-GB/en-GB.plg_fruits.ini</language>
    <language tag="de-DE">language/de-DE/de-DE.plg_fruits.ini</language>
</languages>
<config>
  <fields name="params">
    <fieldset name="basic">
      <field
        name="default_fruits"
        type="integer"
        default="An Integer"
        label="JFIELD_PLG_FRUITS_DEFAULT_LABEL"
        description="JFIELD_PLG_FRUITS_DEFAULT_DESC"
        first="0"
        last="10"
        step="1"
      />
    </fieldset>
  </fields>
</config>

version上的<extension>属性设置为3.6。

在插件目录中,我有一个名为“language”的文件夹,其中包含两个子文件夹(“de-DE”和“en-GB”),这些文件夹包含文件de-DE.plg_fruits.inien-GB.plg_fruits.ini分别

在这些文件中,它分别表示: JFIELD_PLG_FRUITS_DEFAULT_LABEL="Apple" // "Apfel" JFIELD_PLG_FRUITS_DEFAULT_DESC="Text" // "Text"

正如我所说,我找不到错误。当我打开Joomla的语言调试器时,它告诉我:

**Not loaded** : JROOT/administrator/language/en-GB/en-GB.plg_fruits_fruits.ini
**Not loaded** : JROOT/plugins/age/age/language/en-GB/en-GB.plg_fruits_fruits.ini

我没有得到解析错误,但当我将文件重命名为en-GB.plg_fruits_fruits.ini时,它为文件的每一行提供了一个解析错误,但同时告诉我文件还没有加载。

我还在php文件中尝试了protected $autoloadLanguage = true;(对于基本的Joomla设置,它是空的)并且它不会影响任何东西。

1 个答案:

答案 0 :(得分:1)

应使用UTF-8 encoding保存Joomla语言文件。您必须使用支持UTF-8 without BOM的文件编辑器,例如notepad++(免费)或任何其他编辑器。 PHP ini解析器允许你省略值周围的双引号,但在Joomla中你不能省略双引号。这是强制性的。避免在语言文件中注释。此链接将为您提供良好的参考https://docs.joomla.org/Creating_a_language_definition_file