有许多方法可以解决这个问题。他们都不是“最好的方法”,他们都在短期或长期内都有问题。首先要说的是,多语言网站并不容易,翻译人员和可爱的人,但很难与之合作,大多数程序员认为问题只是一个技术问题。在这个答案的范围之外,还有另一个维度,即你是翻译还是本地化。这包括查看目标受众的文化习俗,然后根据该文化定制语言,风格,布局,颜色,字体等。最后,不要将机器翻译(机器翻译)用于任何严重的事情,或者是否需要准确,并且在获取翻译人员时,请确保他们将从外语翻译成母语,这意味着他们了解目标语言的所有细微差别。
右。解决 方案。在您不想重写站点的基础上,只需克隆您拥有的站点并将副本翻译为目标语言即可。假设代码库是稳定的,则可以使用 VCS 来管理任何代码更改。您可以调整网站的各个部分以适应目标语言,例如法语文本平均比等效的英语文本大30%,因此使用一个网站来交付这意味着您可能(将)遇到格式问题,并且需要根据语言交换不同的css文件。这似乎是一种笨拙的方式,但是这些网站将存在多长时间?以这种方式执行此操作的管理开销可能比其他选项要少。
第二种方式无需重建。用标签替换当前网站中的所有内容,然后将不同的语言放在文件或数据库表中,嗅探用户所需的语言(您是否有可以进行首选项的注册用户,或者您是否想要获取浏览器语言标签,或者它将是URL dot-com dot-fr,dot-de做出选择),然后将标签替换为目标语言。然后,您需要分别解决大小问题和图像问题。当像Symfony和Zend这样的框架来实现l10n时,这个解决方案就生效了。
然后,您可以使用框架或gettext进行重新构建,并且可能有一个更干净的解决方案,但请记住,框架旨在解决其他问题,而不是翻译,并且翻译组件已作为部分解决方案而不是完整解决方案进入框架。
所有解决方案的最大问题是持续维护。因为您不仅有一个代码库,而且还需要维护多个语言库。除非你们在一个解决方案中真正聪明和有效,否则正在进行的任务将是困难的。