您好我是在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