0

我已将 Resource.fr-FR.resx 添加到我的项目中,并在 web.config 中完成了如下全球化设置。

<system.web>
    <globalization culture="fr-FR" uiCulture="fr"/>
</system.web>

根据http://msdn.microsoft.com/en-us/library/bz9tc508%28v=vs.80%29.aspx这就是你所需要的

但是当我运行我的应用程序时它仍然是英文的

我在 Application_Start() 中检查了“Thread.CurrentThread.CurrentUICulture”,上面写着 FR。

我错过了什么?同样的事情已经发布在 MVC 3 Setting uiCulture does not work

但没有答案。

4

1 回答 1

0

文化与语言不同。“文化”是一组日期/时间、货币、日历和其他一些东西(如文本标题大小写规则)的格式规则。

设置文化不会自动本地化您的应用程序(本地化是将所有人类可读的字符串翻译成另一种语言,例如法语)。本地化和 UI 翻译是一个漫长、痛苦和昂贵的过程。ASP.NET 不会为您做这件事。

如果您想本地化您的应用程序,您需要确保所有人类可读的字符串都存储在资源文件(.NET 中的 .resx)中,并且您已经创建了包含其他语言的翻译字符串的“卫星程序集”。然后,您需要确保在您的应用程序中向用户显示的任何字符串都使用资源 API(或 IDE 生成的帮助程序类)。这很痛苦,因为这意味着在您的 *.aspx 文件中从此开始......

<p>Hello, welcome. This is in English.</p>

...对此:

<p><%= Resources.WelcomeMessage %></p>

...或者这个(如果你有太多的字符串需要由 Resources 帮助类管理):

<p><%= ResourceManager.GetString("HomePage_WelcomeMessage") %></p>

...当然,这样做会破坏您网站的任何视觉设计师,例如。

于 2013-02-16T09:49:27.733 回答