1

我正在开发我们的 java 应用程序的 I18n,我们决定只支持一种语言环境中的数据,而用户界面可能支持多种语言环境。

我的问题是这样的:

应该使用用户的区域设置还是数据的区域设置对数据进行排序和过滤?

最初我们认为根据数据的语言环境进行排序是有意义的,但是在阅读了像下面这样的文章之后,似乎按照用户的语言进行排序更有意义。

“排序也可以根据语言和文化对字母表使用的基本顺序而有所不同。例如,瑞典语有一个“Ä”字符,它在字母表中的“Z”之后排序。德语也有这个字符,但在字母表中的“A”之后将其排序为“ae”。 http://msdn.microsoft.com/en-us/library/a7zyyk0c.aspx

以前有没有人必须做出这个决定?你做了什么决定?意见?

谁能想到需要使用数据区域设置进行排序或过滤的示例?

提前致谢。

4

4 回答 4

2

我想它必须取决于用例,即什么对用户最有帮助

如果您是使用瑞典名字和瑞典人工作的美国人,那么查看使用瑞典规则排序的数据确实会帮助您,因为这是您与之交互的大多数人所期望的。

于 2009-07-09T12:45:11.717 回答
1

显而易见的答案是“用户期望什么”只是猜测用户期望什么并不容易:-)

对于第一个答案:“一个使用瑞典名字的美国人”。我们可以确定美国人熟悉瑞典的分类规则吗?我想不是。但我们确信他熟悉美国的分拣规则。(如果我想搜索瑞典朋友的电话号码,是否意味着我知道他们在那里的排序方式?)

一些框架/操作系统可以提供帮助。“控制面板”(或等效项)中通常有关于应该使用哪种语言环境进行格式化或排序的设置。找出用于检索该信息并使用它的 API。

通常 UI 以语言的一种“风格”进行本地化,不足以决定如何处理格式化、排序等。(想想英语 UI。但我可以在澳大利亚、英国或印度,那里有一些约定不同的)

If you give some info about your environment, I might be able to point you to the proper APIs.

于 2009-09-25T21:02:10.613 回答
0

如果您对数据进行排序只是为了在屏幕上为用户显示一个漂亮的列表。使用 UI 区域设置进行排序。

如果您对数据进行排序以进行存储或排序,请使用数据区域设置。

于 2009-07-09T12:45:52.903 回答
0

您应该使用用户期望的语言环境进行排序。在您的情况下,根据用户在 UI 中选择的语言环境进行排序。否则会使您的用户感到困惑。

于 2009-07-09T12:46:22.437 回答