【问题标题】:At which step should i18n and l10n happen? At the beginning or at the end?i18n 和 l10n 应该在哪一步发生?在开头还是结尾?
【发布时间】:2012-09-24 22:26:56
【问题描述】:
由于我不是英语,而且我的母语和我国家的正式语言不同,我必须一直处理(至少)3种不同的语言!!
现在,我的问题:
在编写 web 应用时,应该在流程开始时还是在一切都完成后(并且应用程序正常运行)执行 i18n 和 l10n 部分?
我认为应该在最后完成。这样,软件就准备好了,开发人员的大脑就不用忙于制作软件了。另一方面,UI 的许多部分必须根据方向(ltr 或 rtl)进行更改。
任何想法都非常感谢。
【问题讨论】:
标签:
web-applications
localization
internationalization
【解决方案1】:
国际化(i18n)必须成为发展的一部分。如果你等到最后,你将需要重写部分代码。考虑以下项目:
- 允许特定区域设置的数字和日期格式
- 外部化所有文本资源
- 创建能够很好地处理文本扩展的设计
- 允许公制与英制
...(更多信息请参见link)
所有这些项目在设计和开发过程中都需要不同的方法。说“让我们先弄清楚英语,我们稍后再担心”是一个很大(但很常见)的错误。当本地化时间到来时,这种方法几乎肯定会导致花费更多的金钱、时间和挫败感。
I18N 只是一组您需要在开发过程中应用的最佳实践。即使您不打算本地化您的应用程序,您也应该考虑到 I18N。
【讨论】:
-
英语可能是本地化最差的基础,因此,如果您从英语开始,即使列出了这 4 个改编版本,您的文本中的假设也会是英语假设。例如。经典的“添加 %s”;用英语工作,但几乎可以肯定不会用任何其他语言。我还要说尽早启动 L10N。使用podebug 之类的工具使用伪本地化意味着您可以查看哪些部分不适用于本地化。自己翻译它们会暴露源代码中的错误假设。