我需要一些关于本地化的信息。我正在使用带有 C# 2.0 的 .net 2.0,它处理了大部分与本地化相关的问题。但是,我需要在一个特定的屏幕上手动绘制与当前文化相对应的字母表。
这类似于 Microsoft Outlook 中的联系人屏幕(联系人下的地址卡视图或详细地址卡视图),因此它需要在右端有一列按钮,每个字母一个。
我试图模仿这一点,但我不想让用户选择脚本。如果说现在的文化是中文,我想画中文字母。当用户将文化信息更改为英语时(以及当他重新启动应用程序时),我想改为绘制英文字母。希望您了解我将使用此查询的去向。
我可以确定当前用户的文化(Application.CurrentCulture 或 System.Globalization.CultureInfo.CurrentCulture 会给出文化相关的信息)。我也有所有的脚本来呈现字母。但是,问题是我不知道如何将文化信息映射到脚本的名称。
换句话说,有没有办法确定与文化对应的脚本名称?或者是否可以确定与文化对应的 Unicode 字符值的范围?它们中的任何一个都可以让我正确呈现按钮上的字母。
对此的任何建议或指导都非常感谢。如果我的方法(或我试图实现的目标)存在根本性错误,请同时指出。谢谢你的时间。
PS:我知道最简单的解决方案是将脚本名称配置为用户首选项的一部分,或者显示语言列表供用户选择(如 Outlook 2007 中的联系人)。但我只是想看看我是否可以在用户不必做任何事情的情况下呈现与文化相对应的字母表。