2016-07-26 59 views
0

我对所有内容进行了双重检查和三重检查,并且双重和三重读取了文档,但是我的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> 

<extension>version属性设置为3.6。

在我有一个名为“语言”有两个子文件夹(“去-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它给了我一个解析错误文件的每一行,但在同一时间告诉我文件尚未加载。

我也尝试protected $autoloadLanguage = true;在PHP文件(这是否分开为基本的Joomla安装),并没有影响任何东西。

+0

为什么你在引号内有它们? – Elin

+0

你的意思是“JFIELD”命令?我试图不引用他们,并得到**错误** **加载表单文件时出错** – DTX

回答

1

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