我正在寻找有国际消费软件的专家的意见。我想了解人们在每个逻辑软件层(数据(rdbms),业务(中间件),用户界面)所采用的最佳实践。
感谢您提供任何帮助。
答案 0 :(得分:9)
<强>不强>
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 中没有什么是神圣的 即使是显示绿色表示正数而红色表示负数的基本因素是fair game。
答案 1 :(得分:5)
确保UI控件中有足够的空余空间。从英语翻译成法语或德语时,文本会变得更长。
虽然它在某些方面集中在i18n的Windows方面,但要注意Michael Kaplan's blog。他非常精通这个领域,并发布了许多博客文章,其中包含有用的一般内容。
答案 2 :(得分:4)
你可以写一本关于这个主题的书。
在所有层面,不要做出以下假设:
我确信我只是在表面上看。
答案 3 :(得分:2)
Unicode(或wchar,或其中的等价物&lt;选择语言&gt;)到处都是。不要在数据库中存储标签。准备好让文本和控件“走错路”,即从右到左。
答案 4 :(得分:2)
对于本地化,请勿对UI字符串进行硬编码。使用像gettext这样的东西。
答案 5 :(得分:0)
如果您使用.Net,资源文件(.resx)系统非常灵活。
查找ResourceManager.GetString(“string name”,CultureInfo)的用法。
我们使用这个系统非常成功地翻译英语,德语,法语,西班牙语,俄语和阿拉伯语。
另外,在考虑在国外语言环境中使用时,请花一些时间查看输入和输出; Turkish problem是不同输入如何导致问题的一个很好的例子。