C#:获得斯堪的纳维亚语字母的字母?

有没有办法在一种语言中获得字母表的字母?

我想做分页,我想显示例如字母表的最后7个字母。 对于荷兰语字母来说,tz是最后7个字母,但对于瑞典来说,它是w-ö(这是wxyzåäö)。

当我得到它作为输入时,对于“普通”az字母表,我可以使用ASCII表生成两者之间的字母,但对于瑞典来说,它将不起作用。

据我所知,.NET和Windows都不提供此信息。 但是,您可以在Unicode Consortium的CLDR数据库中找到它。 这个DB实际上是一组XML文件(每种语言一个。以语言缩写命名),包含各种本地化信息。 一个金矿!

元素/ ldml / characters / examplarCharacters包含该语言中使用的字符列表。 例如,对于瑞典语(sv.xml):

[av xz å ä ö] 

请注意,当你说’ASCII字母’时,你会意识到你限制自己使用拉丁文字,不是吗? 就CLDR而言,诸如az之类的列表是Unicode字符序列,而不仅仅是ASCII字母。 例如,俄语(来自ru.xml):

 [а-е ё ж-я] 

我不认为默认情况下它是可编程访问的,但这里是Evertype网站上的一组很好的参考文档

无论如何,您将向翻译人员发送一系列字符串。 对于您网站的每种语言,您都会拥有一种语言,并且每个语言都会知道其语言的答案。 所以只需向他们提交字符串"abcdefghijklmnopqrstu vwxyz" ,并将其记录为用于分页的alplabet。 他们应该能够为你翻译它。 请注意,你可以找回像…“x ij z”这样的条目荷兰语 – “ij”是单个字母的常见拼写IJ

所以要清理这个,我认为答案是,即使我限制自己的西方语言,我不能要求.Net框架的字母。 所以我自己用这些字母制作了一份清单,幸运的是,只有四种语言可以做。