如果我们要本地化内容,以便我们可以检索不同语言的SAME内容项,那么最佳做法是什么?
一种解决方案是将本地化内容放入单独的类(表)中:
public class Category
{
public Guid ID {get;set;}
private CategoryContent GetOrCreateCurrentCultureContent()
{
// return (and create if not exists)
// instance of CategoryContent regarding to current culture
}
// encapsulate content properties
public string Title {
get {
return GetOrCreateCurrentCultureContent().Title;
}
set {
GetOrCreateCurrentCultureContent().Title = value;
}
}
public class CategoryContent
{
public string Title {get;set;}
...
}
有更好的主意吗?
答案 0 :(得分:0)
您似乎正在使用C#,因此我建议您阅读
上的文章[http://msdn.microsoft.com/en-us/goglobal/bb688096.aspx][1]
同时,本地化动态内容(来自配置的内容)是另一回事。
我们有一个瘦UI层,并创建为UI提供API的服务。这些服务可以返回具有动态内容的对象。我们在这些服务上编写一个包装器来拦截调用,并返回翻译的内容。
实际的翻译存储在XML文件中,并且有一个类为配置中的每个字符串返回翻译的字符串。