我正在研究java应用程序的I18n,我们决定只在一个语言环境中支持数据,而用户界面可能支持很多。
我的问题是:
是否应使用用户的区域设置或数据进行数据的排序和过滤?
原则上我们假设根据数据的区域设置进行排序是有意义的,但是阅读下面的文章似乎更有意义按用户排序。
“排序也可以根据语言和文化对字母表使用的基本顺序而有所不同。例如,瑞典语有一个”Ä“字符,它在字母表中的”Z“后排序。德语语言也有这个字符,但在字母表中的“A”之后将其排序为“ae”。“ http://msdn.microsoft.com/en-us/library/a7zyyk0c.aspx
以前有人必须做出这个决定吗?你决定了什么?意见?
有人会想到需要使用数据的区域设置进行排序或过滤的示例吗?
提前致谢。
答案 0 :(得分:2)
我想它必须依赖于用例,即最能帮助用户的?
如果你是一个与瑞典名字和瑞典人一起工作的美国人,它真的可以帮助你查看使用瑞典规则排序的数据,因为这是大多数人与你交往的期望。
答案 1 :(得分:1)
明显的答案是“用户期望的” 只是认为用户期望的内容并不容易: - )
第一个答案是:“一个与瑞典名字合作的美国人”。我们能确定美国人熟悉瑞典排序规则吗?我想不是。但我们确信他熟悉美国的排序规则。 (如果我想搜索一个在瑞典的朋友的电话号码,这是否意味着我知道他们如何在那里排序?)
某些框架/操作系统可以提供帮助。 “控制面板”(或等效物)中通常有关于应使用哪种语言环境进行格式化或排序的设置。 找出API检索该信息并使用它的原因。
通常,UI本地化为语言的一种“味道”,不足以决定如何处理格式化,排序等。(想想英语用户界面。但我可以在澳大利亚,英国或印度,那里一些惯例是不同的)
如果您提供有关您的环境的一些信息,我可能会指出您正确的API。
答案 2 :(得分:0)
如果您对数据进行排序只是为了在屏幕上以一个很好的列表显示给用户。使用UI语言环境排序。
如果您要对数据进行排序以进行存储或排序,请使用数据区域设置。
答案 3 :(得分:0)
您应该使用用户期望的语言环境进行排序。在您的情况下,根据用户在UI中选择的区域设置进行排序。否则会使您的用户感到困惑。