我必须创建一个基于ASP.NET MVC 4的多语言应用程序。 不幸的是,一个数据库适合一种语言。结构和术语与正在改变的内容相反。 应用程序是否有可能根据语言的选择更改数据库?
答案 0 :(得分:2)
为 web.config 添加不同的连接字符串 - 每种支持的语言都有一个:
<connectionStrings>
<clear/>
<add name="northwind-en" connectionString="server=(local);database=NorthwindEnglish;Integrated Security=SSPI"/>
<add name="northwind-fr" connectionString="server=(local);database=NorthwindFrench;Integrated Security=SSPI"/>
</connectionStrings>
然后根据所需语言选择连接字符串,如果没有选定语言的特定数据库,则选择默认语言:
var availableLocales = ConfigurationManager.ConnectionStrings
.Cast<ConnectionStringSettings>()
.Select(cs => cs.Name)
.Select(n => n.Substring(n.IndexOf('-') + 1));