我希望能够听取国际上编写过软件的专家们的意见。我想了解人们在每个逻辑软件层面(数据(关系型数据库),业务(中间件),用户界面)上采用的最佳实践。
感谢您提供的任何帮助。
我希望能够听取国际上编写过软件的专家们的意见。我想了解人们在每个逻辑软件层面(数据(关系型数据库),业务(中间件),用户界面)上采用的最佳实践。
感谢您提供的任何帮助。
不要
string foo = "Page " + currentPage + " of " + totalPages;
做
string foo = string.Format("Page {0} of {1}", currentPage, totalPages);
<value>Page {0} of {1}</value>
<value>{1}ページ中の第{0}ページ</value>
在用户界面中没有什么是神圣的 即使像正数显示绿色,负数显示红色这样基本的东西也是公平竞争的对象。
确保UI控件有足够的空余空间。当从英语翻译成法语或德语等其他语言时,文本往往会变得更长。
尽管它在国际化(i18n)方面更注重Windows方面,但请注意Michael Kaplan的博客。他在这个领域非常熟练,并发布了许多包含通用信息的博客文章,非常有用。
这个主题可以写一本书。
在所有层面上,不要做出以下方面的假设:
我相信我只是触及了表面。
Unicode(或等价于<所选语言>的wchar)应该被普遍采用。不要将标签存储在数据库中。要准备好允许文本和控件从“错误的方向”即从右到左。
对于本地化,不要硬编码UI字符串。使用类似gettext的东西。
如果您正在使用 .Net,资源文件 (.resx) 系统非常灵活。
查找 ResourceManager.GetString("string name", CultureInfo) 的用法。
我们成功地在英语、德语、法语、西班牙语、俄语和阿拉伯语之间切换使用此系统。
此外,在考虑在外国区域使用时,花些时间查看输入和输出;土耳其问题 是不同输入可能会导致问题的一个很好的例子。