我已将Resource.fr-FR.resx添加到我的项目中并完成了全球化设置 web.config如下。
<system.web>
<globalization culture="fr-FR" uiCulture="fr"/>
</system.web>
根据{{3}} ,这就是您所需要的一切
但是当我运行我的应用程序时,它仍然是英文
我在Application_Start()中检查过“Thread.CurrentThread.CurrentUICulture”,它说FR。
我错过了什么? 同样的事情已发布在 http://msdn.microsoft.com/en-us/library/bz9tc508%28v=vs.80%29.aspx但没有答案。
答案 0 :(得分:0)
文化与语言不是一回事。 “文化”是一组日期/时间,货币,日历和其他一些内容的格式规则(如文本标题套管规则)。
设置文化不会自动本地化您的应用程序(本地化是指所有人类可读的字符串都被翻译成另一种语言,例如法语)。本地化和UI翻译是一个漫长,痛苦和昂贵的过程。 ASP.NET不会为你做这件事。
如果要本地化应用程序,则需要确保所有人类可读的字符串都存储在资源文件(.NET中的.resx)中,并且您已创建包含其他语言的已翻译字符串的“附属程序集”。然后,您需要确保在应用程序中向用户显示的字符串使用Resources API(或IDE生成的帮助程序类)。这很痛苦,因为它意味着从* .aspx文件中继续...
<p>Hello, welcome. This is in English.</p>
......对此:
<p><%= Resources.WelcomeMessage %></p>
...或者这个(如果有太多的字符串要由Resources帮助器类管理):
<p><%= ResourceManager.GetString("HomePage_WelcomeMessage") %></p>
......当然,这样做可以打破网站的所有视觉设计师。