我目前正在开发我们的产品,它是一个基于 MVC 3 的项目。该产品最近计划在加拿大推出,那里的法律要求所有网站提供英语和法语版本的副本。
基本架构包括: - 本地化类库 - MVC3 应用程序 - A DAL - 所有控制器都继承自可本地化的基本控制器类,该类将当前线程的 CurrentCulture 和 CurrentUICulture 设置为正确的语言。这很好用(借自 Scott Hansel 的代码)。- 它还有一个基本的 REST API,可以从 UI 中通过 jQuery 调用。
我的所有视图都按要求工作,但我在获取操作以返回正确的消息语言时遇到问题。API 控制器操作不返回 ActionResults,而是返回 JSON 字符串。我不相信这是我痛苦的罪魁祸首。
我目前正在尝试利用 ResourceManager 对象,但没有成功。这是我尝试过的最新代码。
请注意,CultureName 是 BaseLocalizableController 对象提供的属性。
var rm = new ResourceManager("ProductXYZ.Localization.App_GlobalResources.Messages", Assembly.Load("ProductXYZ.Localization"));
viewModel.Message = rm.GetString("SuccessfullySaveChanges", CultureInfo.CreateSpecificCulture(user.Language ?? CultureName));
GetString 函数总是返回英语,它应该返回法语的事件。我知道我在这里缺少一些基本的东西,但只是无法找到它,我现在面临着一个艰难的最后期限。
任何帮助将不胜感激。
谢谢
附加信息* ** * *
我在 Visual Studio 2012 中工作