.NET MVC应用程序加载错误的语言资源文件



大家好,我正在写一个小的ASP.NET MVC应用程序,我想使其本地化并支持多种语言,我发现了许多有用的文章

我添加了语言的路由我使用自定义的操作式属性来选择当前线程的当前文化,具体取决于URL中的语言代码,例如" site.com/en en/controller/action",for Alabic for Arabic for Arabic for English或" site.com/ar/controller/action"。/p>

我为英语创建了" Resources views views routse layout.resex"one_answers"资源 views sharone layout.ar.ar.resex",用于阿拉伯语。

它仅限于阿拉伯语本地化的问题,我将当前的线程文化设置为英语,并删除了ActionFilter属性,但仍然显示阿拉伯语内容!这是什么问题,这是crazr

很难没有更多的详细信息或代码,但是要错过的一件简单的事情是您的web.config文件的配置。如果您在<system.web>中有类似<globalization uiCulture="auto" culture="auto" />(带有"自动"而不是文化标识符),则ASP.NET将使用由浏览器的语言设置确定的接受语言标头来自动选择线程文化。因此,您看到的内容可以通过具有这种配置并在浏览器的语言列表中获得英语来部分解释。

edit :问题是,代码需要使用thread.currentthread.currentuiculture来控制使用了哪些本地化资源(thread.currentthread.currentcurtulture是不同的事情,不会影响本地化但是依赖语言环境的格式/解析,例如日期)。

最新更新