2013-02-14 74 views
0

我已经将Resource.fr-FR.resx添加到我的项目中,并已完成 web.config中的全球化设置,如下所示。如何在MVC中使用web.config强制使用特定的uiculture

<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

但没有答案。

回答

0

文化与语言不同。 “文化”是一组日期/时间,货币,日历和其他一些内容(如文本标题框规则)的格式规则。

设置文化不会自动本地化您的应用程序(在所有可读字符串被翻译成其他语言(如法语)的情况下进行本地化)。本地化和UI翻译是一个漫长,痛苦和昂贵的过程。 ASP.NET不会为你做。

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

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

...这样的:

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

...或本(如果你有太多的字符串由资源辅助类管理):

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

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

+3

非常感谢您的回复。我知道我需要资源文件。我必须改变的是uiculture =“fr”uiculture =“fr-fr” – user664889 2013-02-19 10:49:04

相关问题