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