开发多语言Web应用程序的步骤

时间:2010-11-30 06:04:28

标签: internationalization globalization

开发多语言Web应用程序的步骤是什么?

我应该将语言文本和资源存储在数据库中,还是应该使用属性文件或资源文件?

我知道我需要单独使用带有C#的CurrentCulture和CultureFormat等。

我想知道您关于构建多语言Web应用程序的步骤的意见。

不一定要特定于语言。我只是在寻找建立这个的步骤。

2 个答案:

答案 0 :(得分:2)

具体机制因您正在开发的平台而异。

作为一套粗略的工作项目:

  1. 从内容中分离代码。通常,资源在资源文件的帮助下(在点网中)编译成程序集,或者存储在属性文件中(在java中,尽管还有其他选项)或某些其他位置,并由ID引用。如果您希望本地化成本合理,则需要避免更新版本之间的ID,因为大多数本地化工具会将新ID视为新内容。
  2. 确定应用程序中对用户区域设置做出假设的区域,尤其是日期/时间,货币,数字格式或输入。
  3. 为特定于语言环境的CSS内容创建一些机制;并非所有字体都适用于所有语言,并非所有语言的所有字体都适用。不要把自己画成强迫泰语文本以8磅显示的角落。此外,至少两种语言的文本方向性将从右向左。
  4. 设计您的网页内容,以便在存在多于或少于您预期的内容时合理地重排或重新调整大小。许多语言从英语中扩展50-80%用于短字符串,30-40%用于更长的内容(这是一个粗略的经验法则,而不是法律)。
  5. 确定您的UI设计师所做的文化假设,并尝试使它们更加中立,或者,如果您有足够的金钱和理智来进行刻录,可以进行本地化。邮箱在任何地方看起来都不一样,手势不是普遍的,而且可爱或聪明或依赖于视觉双关语的东西不一定能很好地运行。
  6. 为您支持的语言选择合适的编码。现在可以将UTF-8用于发送到Web浏览器的所有内容,无论语言如何。
  7. 如果要处理数据库中多种语言的内容,请为数据库选择适当的排序规则,或启用备用排序规则。在许多语言中,不区分大小写的情况与英语不同,并且口音不敏感在某些语言中是可接受的,而在其他语言中通常是不合适的。
  8. 如果您试图支持搜索,请不要假设单词用空格分隔或句子用标点符号分隔。
  9. 避免:

    1. 在数据库中存储本地化内容,除非有真正的,非常好的理由。然后,再想一想。如果您的内容有些动态,并且每个区域的代表都需要对其进行自定义,那么使用关联的区域设置ID存储某些类别的内容可能是合理的。
    2. 尝试使用字符串连接变得聪明。此外,尽量不要假设关于多元化或计数的规则对每种文化都是一样的。至少确保字符串(和控件)的顺序可以使用典型平台的格式字符串指定,或者如果您因某些原因选择自行推出,则可以在本地化工具包中详细记录。
    3. 假设可以通过本地化程序修复代码错误。这通常是不合理的,至少如果您想在合理的时间内以合理的价格交付产品;它有时甚至不可能。

答案 1 :(得分:0)

第一步是internationalize。第二步是localize。第三步是translate