本文實(shí)例講述了Joomla語(yǔ)言翻譯類Jtext用法。分享給大家供大家參考,具體如下:
基本使用方法:
Jtext是Joomla中實(shí)現(xiàn)多語(yǔ)言翻譯的一個(gè)對(duì)象,最基本的使用方法如下:
1
|
Jtext::_( 'LANGUAGE CODE' ); |
如果是作為變量的話,則直接使用,如:
1
|
$var = Jtext::_( 'LANGUAGE CODE' ); |
如果需要顯示出來(lái),可以用echo的命令讓它顯示,這種方式在模板文件中是最常見(jiàn)的,如:
1
|
echo Jtext::_( 'LANGUAGE CODE' ); |
語(yǔ)言包文件:
Joomla可以支持多語(yǔ)言,每一種語(yǔ)言包的文件以文件夾的形式存在languages的文件夾下,如:
英文的語(yǔ)言包的文件夾名是: languages/en-GB/
繁體中文的語(yǔ)言包的文件夾名稱是:languages/zh-TW/
每種語(yǔ)言有一個(gè)基本的語(yǔ)言包文件,這個(gè)文件在Joomla的任何一個(gè)程序運(yùn)行中都會(huì)被載入,如:
英文的語(yǔ)言包文件為:en-GB.ini
繁體中文的語(yǔ)言包文件為:zh-TW.ini
每個(gè)組件(Component)的每個(gè)語(yǔ)言都會(huì)有一個(gè)語(yǔ)言包文件,這個(gè)語(yǔ)言包文件默認(rèn)在該組件運(yùn)行時(shí)才被載入,如:
com_community的英文語(yǔ)言包為:en-GB.com_community.ini
com_community的中文語(yǔ)言包為:zh-TW.com_community.ini
如何跨組件引用語(yǔ)言包文件:
如果要使用其他組件的語(yǔ)言包,必須先引入該組件的語(yǔ)言包才可以使用。如com_community中要使用com_stock的語(yǔ)言包,可以采用以下的方式引入:
1
2
|
$lang =& JFactory::getLanguage(); $lang ->load( 'com_stock' ); //組件的名稱,即語(yǔ)言包文件名的中間部分:en-GB.com_stock.ini |
高級(jí)使用方法:
如果在要翻譯的語(yǔ)句中出現(xiàn)變量,那么需要用到JText::sprintf()的方法進(jìn)行翻譯,JText::sprintf()支持在語(yǔ)言包中使用變量,最多可以支持3個(gè)變量。JText::sprintf()的格式如下:
1
|
Jtext::sprintf( 'LANGUAGE CODE' , $var1 , $var2 , $var3 ); |
對(duì)應(yīng)的語(yǔ)言包的寫(xiě)法:
1
|
LANGUAGE CODE=語(yǔ)言代碼%1 $s ,%2 $s ,%3 $s |
如:
JomSocial有一段代碼是這樣寫(xiě)的,需要傳入會(huì)員鏈接和名稱即視頻的鏈接三個(gè)變量,程序的代碼是這樣寫(xiě)的:
1
|
JText::sprintf( 'CC ACTIVITIES FEATURED VIDEO' , $ownerUrl , $ownerName , $videoUrl ); |
對(duì)應(yīng)的語(yǔ)言包則是這樣寫(xiě)的:
CC ACTIVITIES FEATURED VIDEO=<a href=\”%1$s\”>%2$s</a>的 <a href=\”%3$s\”>視頻</a> 被列爲(wèi)精選。
希望本文所述對(duì)大家基于joomla程序設(shè)計(jì)有所幫助。