我想确定给定语言环境的 alphabet 是什么,最好是基于浏览器Accept-Language标头值。有人知道怎么做,必要时使用图书馆吗?
答案 0 :(得分:5)
看看[LocaleData.getExemplarSet] [1]
例如对于english,这将返回abcdefghijklmnopqrstuvwxyz
答案 1 :(得分:1)
如果您只想知道用户区域设置的相应字符集的名称,那么您可以尝试nio.CharSet类。
如果你真的想使用Accept-Language标题,那么在这个问题上有一个旧的O'Reilly article,它引入了一个非常方便的类LanguageNegotiator。
我认为其中一个会给你足够好的开始。
答案 2 :(得分:1)
这取决于你想要的具体方式。要查看的地方是IANA language registry中的“Suppress-Script”属性。
某些语言有多个可用于书写的“字母”。例如,阿塞拜疆语可以用拉丁文或阿拉伯文写成。大多数语言,如英语,几乎只用一个脚本编写,所以正确的脚本不言而喻,应该在语言代码中被“抑制”。
所以,看看俄语的条目,你可以看出首选的剧本是西里尔语,而对于埃塞俄比亚语,它是阿姆哈拉语。但德语,挪威语和英语并不比“拉丁语”更具体。所以,通过这种方法,你很难从美国人那里隐藏变形金刚和荆棘,或者向克什米尔作家提供任何剧本。
答案 3 :(得分:1)
这是用Århus写的英文答案。昨天,我听到一些德国人说'Blödheit,propos propos,ist dumm'。然而,其中一个人穿着一件上衣说“我知道文字和العربية之间的区别”。
您对本文的问题的答案是什么?是允许的吗?这不是英文文本吗?
答案 4 :(得分:0)
International Components for Unicode可能对此有所帮助。具体而言,UScript
类看起来很有希望。
出于好奇:你需要什么?