gpt4 book ai didi

.Net 多语言本地化

转载 作者:行者123 更新时间:2023-12-02 05:02:50 25 4
gpt4 key购买 nike

我的理解是,当您将 CurrentThread.CurrentUICulture 设置为例如“da-DK”时,它将在“da-DK”中查找资源文件,然后是“da”,然后回退到不变文化。这适用于桌面应用程序,因为操作系统通常不是多语言的。然而,对于网站而言,情况不一定如此。

假设我有一个访问者,他的浏览器坚持用户想要“da_DK”、“de_DE”和“en_GB”,如果存在丹麦语,然后是德语,然后是英国英语作为后备。

有没有什么方法可以使用 .Net 4 本地化框架来满足这种偏好?

不,这不是思想实验。 :)

编辑

需要说明的是,问题不是从 Web 请求中获取本地化 header 。问题是 CurrentThread.CurrentUICulture 的设置方式是按顺序检查资源文件,而不是只检查一个。

或者检查 CurrentUICulture 是否有匹配的 resx 文件的方法。

最佳答案

我认为这就是您所追求的:

HttpRequest.UserLanguages()

这将按优先顺序返回用户语言数组。允许他们更改您针对此信息应用的任何本地化可能是个好主意,但是,以防他们的浏览器配置不能准确反射(reflect)他们真正想要的内容。

更新:

要检查资源是否存在,请使用:

ResourceManager.GetResourceSet

这里可以设置tryParents为false。如果不存在资源,该方法将返回 null。然后,您可以继续尝试 header 中返回的下一个首选区域性。

关于.Net 多语言本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14730132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com