多语言网站的设计模式?

Inc*_*ito 10 design-patterns localization internationalization spoken-language web

让我们说我正在设计一个网站,我们有英语,法语,西班牙语,德语和韩国(我不是,但我们假装我).

我不能依赖谷歌翻译等服务,因为网站的性质不是娱乐而是商业.让我们说我可以访问专业的翻译人员,他们可以将某些内容翻译成另一种语言并给我这些文字.

使用网站为多种语言提供内容的一些已知且简单的方法是什么?

有很多选项,比如单独的页面,使用数据库等等......但我无法真正决定什么是最好的,概念如何扩展,需要考虑什么,以及如何处理缺失的翻译?

有没有完善的做法?

Mic*_*l D 14

您要问的广泛主题称为"国际化和本地化"(简称I18N和L10N).要记住的重要一点是,它只是翻译的消息.网站国际化还有许多其他方面.

你需要的更明显的事情是:

  • 一种字符编码,适用于所有语言中的字符,而不仅仅是英语(这意味着数据库中的所有内容都应使用UTF编码)
  • 表示用户的Locale的一些方法(即:Java的Locale类)
  • 在该用户的语言环境中生成消息的常见模式(即:Spring的MessageSource

您需要考虑的其他事项:

  • 根据Locale正确排序字符串
  • 根据区域设置格式化日期
  • 始终在用户的时区显示时间
  • 显示用户区域的距离测量值(即:英里数与公里数?)
  • 为希伯来语等语言从右向左排列网站
  • 想想你如何复制你的消息. String message = "Please fix the following error" + (errors.size() > 1 ? "s" : "");只是不适用于国际化的计划.
  • 想想当文本的长度可能变化很大时如何布置你的网页..并且永远不要假设一个字符或多或少是某个宽度(汉字中的单个字符可能比小写字母宽8倍'一世')

我能找到的最好的资源是ICU图书馆的用户指南.如果您使用Java,则这是要使用的库.

希望这个答案是一个有用的开始!