我已經構建了一個發送電子郵件的簡單組件。在這個組件裏面,我有我的翻譯字符串存儲在ini中。下面是我做的一些示例代碼:joomla語言文件未加載其他語言
$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
但無論我怎麼努力,我總是得到英語。
您需要顯示代碼不工作。還要確保你已經啓動了調試模式,並且錯誤報告一直轉到開發。 – Craig