【发布时间】:2017-02-07 17:28:48
【问题描述】:
我有一个 Asp.Net MVC 网站。在网站上有一些通知,我想本地化系统发送给用户的通知。有点像 StackOverflow 显示的内容,但是当用户更改他们的语言时,我希望他们以他们的语言看到通知。
我想知道对此的最佳解决方案是什么。我可以将消息保存为enum,并将相关信息的 ID 保存为几个ints。像这样:
public class NotificationMessage
{
[Required]
public virtual ApplicationUser User { get; set; }
public NotificationMessageType Type { get; set; }
public int Id1 { get; set; }
public int Id2 { get; set; }
public int Id3 { get; set; }
}
问题在于 ID。它们意义不大,也不是强类型,所以我必须知道如何根据类型使用它们。
另一种解决方案是将其保存为字符串,如果语言不是英语,则尝试翻译它。这很容易变得混乱。
最后的方法是将消息存储为当前选择的语言,当他们更改语言时,消息将保持不变,新消息将使用新语言。
也许有更好和更标准的方法,但我只是想出了这些。
【问题讨论】:
-
推荐的方法是使用资源。看看这篇文章:c-sharpcorner.com/UploadFile/4d9083/…
-
@Juan 我知道资源。问题是,如何存储通知?
标签: c# asp.net asp.net-mvc asp.net-mvc-5 localization