2016-07-26 49 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