language-agnostic - 国际化 Web 应用程序的最佳实践?

标签 language-agnostic internationalization

国际化网络应用程序似乎总是一件苦差事。无论您为可插拔语言提前多少计划,总是存在编码问题、不适合您的模板的时髦措辞以及其他问题。

我认为,让 SO 社区对程序员在决定将其 Web 应用程序国际化时应注意的一系列事项提出意见会很有用。

最佳答案

国际化很难,以下是我从使用 20 多种不同语言的 2 个网站中学到的一些东西:

  • 到处使用 UTF-8。没有异常(exception)。 HTML、服务器端语言(尤其是 PHP)、数据库等
  • 除非你想要大量的工作,否则图像中没有文字。如有必要,使用 CSS 将文本放在图像上。
  • 将配置与本地化分开。这样,本地化人员可以翻译文本,您可以根据语言环境(功能、布局等)处理不同的配置。您不希望本地化人员能够弄乱您的应用程序。
  • 确保您的布局可以处理比英语长 2-3 倍的文本。而且比英语少 50%(日语和中文通常更短)。
  • 某些语言需要更大的字体大小(日语、中文)
  • 颜色也是特定于语言环境的。红色和绿色在任何地方都不是同一个意思!
  • 将作为语言环境名称的类名添加到文档的正文标记中。这样您就可以轻松地在 CSS 文件中指定特定语言环境的布局。
  • 注意变量替换。不要 split 你的字符串。像这样保留它们:“您有 X 条新消息”并将“X”替换为 #。
  • 不同的语言有不同的复数形式。 0, 1, 2-4, 5-7, 7-无穷大。很难对付。
  • 上下文是困难的。有时,本地化人员需要知道在何处/如何使用字符串以确保正确翻译。

  • 资源:
  • http://interglacial.com/~sburke/tpj/as_html/tpj13.html
  • http://www.ryandoherty.net/2008/05/26/quick-tips-for-localizing-web-apps/
  • http://ed.agadak.net/2007/12/one-potato-two-potato-three-potato-four
  • 关于language-agnostic - 国际化 Web 应用程序的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/155719/

    相关文章:

    JavaScript 验证国际字符的问题

    javascript - GMail 喜欢我网站的重试行为

    arrays - 通过重复删除第一个和中间、第一个和最后一个或中间和最后一个元素来清空数组的最小成本

    python - 如何将惰性变量传递给函数参数而不对其求值,除非返回

    algorithm - 随机打乱相同元素的排序比较方法

    javascript - 具体来说,在哪些 JS 引擎中,toLowerCase 和 toUpperCase 区域设置敏感?

    ruby-on-rails - 结合 ActionCable 和 I18n

    language-agnostic - 您如何知道何时使用左折叠和右折叠?

    ruby-on-rails - globalize3 和 easy_globalize3_accessors 验证

    正则表达式匹配埃及象形文字