我试图在我的系统中实现多语言支持, 工作中的其他系统使用xmlfiles来生成他们已经使用了一段时间的数据库,所以他们希望我也使用它。
我已经设法翻译除了我的formmodels中的displaynames之外的所有内容,这些值显然只是常量值,所以我不能使用获得正确翻译的方法。
这就是代码的现状:
[System.ComponentModel.DisplayName("Kontraktnamn")]
public string Name { get; set; }
我想做这样的事情:
[System.ComponentModel.DisplayName(GetTextByKey("Contract_Name"))]
public string Name { get; set; }
可以解决这个问题吗?或者也许有更好的方法来做它并仍然使用xmlfiles?
答案 0 :(得分:4)
您需要创建自己的自定义属性,该属性可以读取xml值:
public class CustomDisplayName : DisplayNameAttribute
{
public CustomDisplayName()
{
this.DisplayName = MyXmlReader.Read(DisplayName);
}
}