您好我是在php中devloping網站我需要翻譯整個網站在德語,西班牙語等其他語言...如何可能在PHP中我曾嘗試使用一些CSV但它都變成靜態我意味着我不能轉換整個網站..網站語言翻譯在php
如果您有任何CSV或API的信息..
請幫助..
-div
您好我是在php中devloping網站我需要翻譯整個網站在德語,西班牙語等其他語言...如何可能在PHP中我曾嘗試使用一些CSV但它都變成靜態我意味着我不能轉換整個網站..網站語言翻譯在php
如果您有任何CSV或API的信息..
請幫助..
-div
<?php
$GLOBAL['langs']=array(
'en'=>array(
'Welcome to my site!'=>'Welcome to my site!'
),
'it'=>array(
'Welcome to my site!'=>'Benvenuto sul mio sito web!'
)
);
function _($text){
$lang=$_COOKIE['lang'];
return $GLOBAL['langs'][$text];
}
?><html><head><?php
echo '<title>'._('Welcome to my site!').'</title>';
?></head><body>
....
</body></html>
如果你婉要將「整個頁面」翻譯成任何語言,您可以使用Google Translate。
儘管Christian的答案能夠解決問題,但還是有一種更加清潔和高效的方式來實現您的需求:gettext是PHP內置的國際化功能。
Zend Translate是一個爲此準備的庫。
Gettext不是線程安全的。 PHP只支持gettext和本地數組。 Zend_Translate支持多種源格式,包括PHP支持的格式,以及其他格式,包括TMX和CSV文件。
不幸的是,Zend框架的人甚至不知道自己的哪些組件相互關聯。所以最好的做法是安裝整個Zend-Framework。這意味着非常多的文件和輕微的矯枉過正,我會說。但是對於基於Zend-Framework構建的應用程序,Zend_Translate當然是一個很好的解決方案。 – 2010-09-15 07:24:59
我不同意。您可以在這裏檢查依賴關係,包括PHP包和內部ZF。 http://framework.zend.com/manual/en/requirements.introduction.html – 2010-09-15 07:31:49
它是'$ GLOBALS',而不是'$ GLOBAL'。 – Lekensteyn 2010-09-15 06:44:11
如果PHP啓用了* gettext *支持,使用'_()'可能會出現問題,因爲這是'gettext()'的別名,這也是本地化的一種方法。 http://php.net/manual/en/function.gettext.php – Archimedix 2010-09-15 07:04:14