我需要为我们的Web应用程序中的所有文本设计一个可配置的内容系统,它将我们对翻译的需求与用户组,用户子组和单个用户配置给定标签的能力结合起来,错误消息或系统文本说。
因为所有内容都需要通过界面进行配置,所以资源文件似乎不是解决方案。
我不希望发现开箱即用的东西。你会如何设计这样的东西,或者为了获得这个功能你会开始配置什么?
答案 0 :(得分:1)
创建一个简单的表格:
table Resources {
language varchar(100)
label varchar(100) /* you might consider a different key type, but this would be easiest on coding */
value varchar(max)
}
您可以简单地将整个表缓存在Web服务器上以在本地执行查找,并在更改值时简单地使缓存失效。
这是一件相对容易的事。
答案 1 :(得分:1)
通过创建数据库支持的自定义资源提供程序,并在Web.Config中设置<globalization>
标记以指向您的自定义提供程序,我已经实现了您正在寻找的功能类型。见:http://msdn.microsoft.com/en-us/library/aa905797.aspx
然后,在您的网页和代码中,您可以引用GetGlobalResourceObject
或GetLocalResourceObject
来获取本地化资源。
虽然这主要是针对多种语言设计的,但我已将其与自定义区域设置功能结合使用,以向不同的用户组提供不同的标签,错误消息和文本。