1

在我的 ASP MVC 3 站点中,我添加了一个文件夹Resources,其中包含 2 个 Resx 文件Strings.resxStrings.fr-FR.resx,公共访问修饰符,并提供了翻译。

我在 web.config 中添加:

<system.web>
    <globalization culture="Auto" uiCulture="Auto"/>  

<configuration>
  <appSettings>
    <add key="culture" value="fr-FR" />
    <add key="uiculture" value="fr-FR" />

我还在Global.asax的Application_AuthenticateRequestApplication_BeginRequest的 CurrentCulture 和 CurrentUICulture 中强制使用法语。

问题是在 localhost 中显示站点时,语言被翻译成法语。

在服务器上部署站点时(在 WebSetup 项目中构建 msi 之后)尽管文化和 ui 文化都是“fr-FR”(在隐藏输入中显示它们),但字符串未翻译成法语。

可能是什么问题?也许配置服务器中缺少某些东西?我在互联网上找不到任何关于此的问题。

谢谢。

4

3 回答 3

1

尝试遵循这种方法很棒http://afana.me/post/aspnet-mvc-internationalization-part-2.aspx

于 2012-02-27T20:05:41.870 回答
0

It could be that the production server has different language sets and with that

Thread.CurrentThread.CurrentUICulture

is set automatically... but this is just a guess since I do not know enough about your implementation...

but...

Here is a good, detailed article on that topic...

Globalization, Internationalization and Localization in ASP.NET MVC 3, JavaScript and jQuery - Part 1

http://www.hanselman.com/blog/GlobalizationInternationalizationAndLocalizationInASPNETMVC3JavaScriptAndJQueryPart1.aspx

于 2012-02-27T10:58:49.347 回答
0

检查您是否已发布包含翻译到 fr-FR 的文件夹,在我的情况下,我在 en-US 中进行了翻译,在 bin 文件夹中有一个名为 en-US 的子文件夹,其中包含资源的 dll翻译。

于 2017-02-20T12:28:45.650 回答