如何建立多语言支持PHP应用程序(英语,法语,中国等。)
-
22-08-2019 - |
题
我构建一个使用LAMP和Smarty模板框架的Web应用程序。该网站将有大量的静态内容(约合页面,错误警报,确认电子邮件等)。
在Web应用程序必须支持多种语言。是如下方法适当?
1)上的Smarty模板页(HTML页)所有的静态副本将通过调用smarty的插件,如{郎文件=“about.xml” getTerm =“标题”}返回字符串为在标题标签来代替适当的语言
2)的文件about.xml是充当多语言词典的网络服务器的XML文档。所以它将具有XML节点如
<term value="title">
<en><a href="http://stackoverflow.com"&rt;Stackoverflow</a&rt; is a great site</en>
<fr><a href="http://stackoverflow.com"&rt;Stackoverflow</a&rt; c'est website magnifique</fr>
<ch><a href="http://stackoverflow.com"&rt;Stackoverflow</a&rt; complex looking chinese characters I don't udnerstand</ch>
</term>
<term value="signupmessage">
<en><a href="http://stackoverflow.com"&rt;Stackoverflow</a&rt; great deals!</en>
<fr><a href="http://stackoverflow.com"&rt;Stackoverflow</a&rt; magnifique deals!</fr>
<ch><a href="http://stackoverflow.com"&rt;Stackoverflow</a&rt; complex looking chinese characters I don't udnerstand</ch>
</term>
3),用于该网站的URL结构进行http://mywebsite.com/language/index.php
。要做到这一点,我的web服务器将有符号链接,如
ln -s ./en ./
使http://mywebsite.com/en/index.php
指向同一个PHP页面http://mywebsite.com/fr/index.php
,但我会检查语言设置的URL。我的希望是,谷歌将索引网站的两个版本。
这是一个好办法?是一个XML存储,即使它已经htmlentity编码的HTML标签不同语言的内容的最佳格式?我有没有忽略任何细节?
解决方案
不知道你的问题的细节,但你可能想看看的 Zend_Translate
。
不隶属于 StackOverflow