ASP.NET具有内置功能,可根据浏览器的首选语言自动加载正确的语言资源文件。
例如,如果访问者将丹麦语(da)作为他/她的首选语言,并且该网站具有* .da.resx文件,则使用该资源。当首选资源文件不可用时,ASP.NET将回退到基本/默认资源文件(* .resx)。
现在,浏览器允许指定多种首选语言。如果访问者会说丹麦语,但将挪威语作为第二语言添加到浏览器首选项(挪威语与丹麦语95%相同),则浏览器会向Web服务器发送“da,no; q = 0.9”。但是,ASP.NET似乎不支持这种辅助语言;如果* .da.resx不可用,则不会加载* .no.resx。
有人知道如何支持二级语言吗?
答案 0 :(得分:0)
请注意,ASP.NET仅自动处理accept-languages头字段中的第一个条目,以确定在web.config文件中启用enableClientBasedCulture
时要使用的文化。
如果您希望扩展此内容并检查接受语言列表中的其他语言条目(如果有)以查看您是否匹配,则必须以编程方式执行此操作并设置Thread.CurrentThread.CurrentUICulture
( ResourceManager用于查找适当的本地化资源)和Thread.CurrentThread.CurrentCulture
(它将控制如何呈现和处理区域设置感知数据类型)。这解释为here。