我对基于 resx 的本地化有一个非常奇怪的问题。
首先,让我解释一下,它现在是如何为我完成的。
它是 ASP.NET MVC 项目。我有两个程序集:网络和域。Web 包含所有与 MVC 相关的东西,并且域,嗯,包含域类。此外,在域组装中,我存储了大量用于本地化的静态资源(我正在构建具有 3 种不同语言的站点)。
所以我在这个域程序集中有 Localization 文件夹,并且有如下文件:
CheckoutStrings.resx、CheckoutStrings.en-US.resx、CheckoutStrings.et-EE.resx 等等。
现在奇怪的是,这一切在我的本地机器上运行得非常好,同时使用 VS 开发服务器和 IIS 7.5。但是当我将解决方案上传到我的 Web 服务器,即 Windows Server 2008 R2,所以它也是 IIS 7.5 时,我的本地化突然停止工作。
我试图输出
Thread.CurrentThread.CurrentUICulture
在我看来,就在输出本地化字符串之前。
它给了我选择的文化,这是正确的,但是字符串被呈现为后备值,而不是本地化的。
我真的被困在这里,希望任何人都知道发生了什么......