本文實例講述了Joomla語言翻譯類Jtext用法。分享給大家供大家參考,具體如下:
基本使用方法:
Jtext是Joomla中實現多語言翻譯的一個對象,最基本的使用方法如下:
1
|
Jtext::_( 'LANGUAGE CODE' ); |
如果是作為變量的話,則直接使用,如:
1
|
$var = Jtext::_( 'LANGUAGE CODE' ); |
如果需要顯示出來,可以用echo的命令讓它顯示,這種方式在模板文件中是最常見的,如:
1
|
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的語言包,可以采用以下的方式引入:
1
2
|
$lang =& JFactory::getLanguage(); $lang ->load( 'com_stock' ); //組件的名稱,即語言包文件名的中間部分:en-GB.com_stock.ini |
高級使用方法:
如果在要翻譯的語句中出現變量,那么需要用到JText::sprintf()的方法進行翻譯,JText::sprintf()支持在語言包中使用變量,最多可以支持3個變量。JText::sprintf()的格式如下:
1
|
Jtext::sprintf( 'LANGUAGE CODE' , $var1 , $var2 , $var3 ); |
對應的語言包的寫法:
1
|
LANGUAGE CODE=語言代碼%1 $s ,%2 $s ,%3 $s |
如:
JomSocial有一段代碼是這樣寫的,需要傳入會員鏈接和名稱即視頻的鏈接三個變量,程序的代碼是這樣寫的:
1
|
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程序設計有所幫助。