坚持使用资源文件进行本地化

时间:2010-01-02 11:09:21

标签: asp.net-mvc localization embedded-resource

基于resx的本地化我有一个非常奇怪的问题 首先,让我解释一下,现在是怎么做的 它是ASP.NET MVC项目。我有两个程序集:web和域。 Web包含所有与MVC相关的东西,以及域,以及contans域类。此外,在域组装中,我存储了大量用于本地化的静态资源(我正在构建具有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

在我的视图中,就在输出本地化字符串之前 它给了我选择的文化,这是正确的,但是字符串被渲染为后备值,而不是本地化值。

我真的被困在这里,希望有人知道发生了什么......

1 个答案:

答案 0 :(得分:3)

是不是找不到本地化文件而你又回到了“默认语言”?您是否可以在服务器上部署到GAC中,但是在dev机器上的子文件夹的/ bin文件夹中运行它? 您是否尝试过使用fuslogvw.exe来查看代码的来源?

请注意,要查看附属程序集的负载,您必须执行一些注册表“hacks” - http://msdn.microsoft.com/en-us/library/e74a18c4(VS.71).aspx

  

将绑定失败记录到卫星   组件设置   HKLM\Software\Microsoft\Fusion\LogResourceBinds   注册表值为1(值为   DWORD)。