本文實例講述了Joomla語言翻譯類Jtext用法。分享給大家供大家參考,具體如下:
基本使用方法:
Jtext是Joomla中實現多語言翻譯的一個對象,最基本的使用方法如下:
Jtext::_('LANGUAGE CODE');
如果是作為變量的話,則直接使用,如:
$var = Jtext::_('LANGUAGE CODE');
如果需要顯示出來,可以用echo的命令讓它顯示,這種方式在模板文件中是最常見的,如:
echo Jtext::_('LANGUAGE CODE');
語言包文件:
Joomla可以支持多語言,每一種語言包的文件以文件夾的形式存在languages的文件夾下,如:
英文的語言包的文件夾名是: languages/en-GB/
繁體中文的語言包的文件夾名稱是:languages/zh-TW/
每種語言有一個基本的語言包文件,這個文件在Joomla的任何一個程序運行中都會被載入,如:
英文的語言包文件為:en-GB.ini
繁體中文的語言包文件為:zh-TW.ini
每個組件(Component)的每個語言都會有一個語言包文件,這個語言包文件默認在該組件運行時才被載入,如:
com_community的英文語言包為:en-GB.com_community.ini
com_community的中文語言包為:zh-TW.com_community.ini
如何跨組件引用語言包文件:
如果要使用其他組件的語言包,必須先引入該組件的語言包才可以使用。如com_community中要使用com_stock的語言包,可以采用以下的方式引入:
$lang =& JFactory::getLanguage(); $lang->load('com_stock');//組件的名稱,即語言包文件名的中間部分:en-GB.com_stock.ini
高級使用方法:
如果在要翻譯的語句中出現變量,那麼需要用到JText::sprintf()的方法進行翻譯,JText::sprintf()支持在語言包中使用變量,最多可以支持3個變量。JText::sprintf()的格式如下:
Jtext::sprintf('LANGUAGE CODE',$var1,$var2,$var3);
對應的語言包的寫法:
LANGUAGE CODE=語言代碼%1$s,%2$s,%3$s
如:
JomSocial有一段代碼是這樣寫的,需要傳入會員鏈接和名稱即視頻的鏈接三個變量,程序的代碼是這樣寫的:
JText::sprintf('CC ACTIVITIES FEATURED VIDEO', $ownerUrl, $ownerName, $videoUrl);
對應的語言包則是這樣寫的:
CC ACTIVITIES FEATURED VIDEO=<a href=\”%1$s\”>%2$s</a>的 <a href=\”%3$s\”>視頻</a> 被列爲精選。
更多關於joomla相關內容感興趣的讀者可查看本站專題:《Symfony框架入門教程》、《Yii框架入門及常用技巧總結》、《php優秀開發框架總結》、《smarty模板入門基礎教程》、《ThinkPHP常用方法總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家基於joomla程序設計有所幫助。