我的网站目前使用英文;我希望能够在用户点击其他语言时切换到其他语言(网站上有很少的国家/地区标志图标)。我目前正在尝试的方式是使用数组,例如:
$english = array('index',
array('h1' => 'this is some h1 text',
'h2' => 'this is some h2 text'));
$japanese = array('index',
array('h1' => '世界交換への歓迎',
'h2' => 世界交換への'));
print $english[index][h1];
print $japanese[index][h2];
正如您所看到的,如果我使用单独的语言为每个页面执行此操作,那将是一个疯狂的代码量。我可以尝试其他什么方法?
答案 0 :(得分:5)
鉴于您正在寻找最终将获得l10n支持的完整i18n支持,我建议您在支持这些开箱即用的PHP框架中编写您的页面。
就我个人而言,我只使用Symfony框架进行了翻译。它们在数据库中使用i18n表扩展的内容组合,以及用于接口翻译的XLIFF文件。一旦设置它就相当透明,并且使用框架避免了必须手工编写所有这些支持。
我也知道Zend,CakePHP和Code Igniter支持i18n。
答案 1 :(得分:1)
我已将此系统与自定义CMS @ www.grandhall.eu一起使用。当你需要拿出小册子和小册子等东西时,它会变得特别有趣。其他下载考虑在内。
答案 2 :(得分:-2)
我建议将您的网站挂钩到Windows Live或Google Translate API。我不知道谷歌的那个,但Windows Live API似乎很容易使用。
http://msdn.microsoft.com/en-us/magazine/dd569750.aspx
那,或者您可以用两种语言写出页面上的所有内容,将它们存储在“内容”数据库中的不同表中,然后在用户单击更改语言按钮时更改加载的表。现在,你的大多数苦差事都在用两种语言重写内容。
答案 3 :(得分:-4)
您可以使用Google翻译API:
它有大量的文档,并且有一些如何在谷歌代码游乐场使用它的例子:
只需浏览ajax>翻译