SAAS应用程序的本地化

本文关键字:本地化 应用程序 SAAS | 更新日期: 2023-09-27 18:10:20

场景

我们有一个SAAS产品,它有一个带有公共前端的管理后端。我们希望为用户提供更改前端显示语言的选项。将提供7种以上不同语言的选项。我们的产品基于C#和MVC3。前端仅包含约400个单词。处理这个问题的最佳方法是什么?我可以将不同的语言存储在resx文件中,并在数据库中设置一个标志来说明管理员选择了哪种语言吗?

因此,管理员从下拉列表中选择他的语言,然后他所有面向公众的一面都将转换为该语言。

我以前从未做过这样的事情,所以任何关于潜在陷阱的建议都将不胜感激。

感谢

SAAS应用程序的本地化

资源文件是解决该问题的最常见方法。将所选语言存储在数据库中是个好主意。

我会在你的基本控制器中使用OnActionExecuting来设置当前语言(Thread.CurrentUICulture(

更新

在每个请求的开头指定正确的区域性(在基本控制器中(

protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
    var cultureId = ((YourUserObj)Session["CurrentUser"]).PreferedLanguage;
    var userCulture = new CultureInfo(cultureId);
    Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture = userCulture;
}

然后让.NET加载正确的资源文件。