Joomla語言翻譯類Jtext用法分析

字號:


    本文實例講述了Joomla語言翻譯類Jtext用法。分享給大家供大家參考,具體如下:
    基本使用方法:
    Jtext是Joomla中實現(xiàn)多語言翻譯的一個對象,最基本的使用方法如下:
    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
    高級使用方法:
    如果在要翻譯的語句中出現(xiàn)變量,那么需要用到JText::sprintf()的方法進行翻譯,JText::sprintf()支持在語言包中使用變量,最多可以支持3個變量。JText::sprintf()的格式如下:
    Jtext::sprintf('LANGUAGE CODE',$var1,$var2,$var3); 
    對應(yīng)的語言包的寫法:
    LANGUAGE CODE=語言代碼%1$s,%2$s,%3$s
    如:
    JomSocial有一段代碼是這樣寫的,需要傳入會員鏈接和名稱即視頻的鏈接三個變量,程序的代碼是這樣寫的:
    JText::sprintf('CC ACTIVITIES FEATURED VIDEO', $ownerUrl, $ownerName, $videoUrl);
    對應(yīng)的語言包則是這樣寫的:
    CC ACTIVITIES FEATURED VIDEO=<a href=\”%1$s\”>%2$s</a>的 <a href=\”%3$s\”>視頻</a> 被列爲精選。
    希望本文所述對大家基于joomla程序設(shè)計有所幫助。