У меня есть сайт Asp.Net MVC. На веб-сайте есть некоторые уведомления, и я хочу локализовать уведомления, которые система отправляет пользователям. Как и то, что показывает StackOverflow, но когда пользователи меняют свой язык, я хочу, чтобы они видели уведомления на своем языке.Локализация системных сообщений
Интересно, какое лучшее решение для этого. Я мог бы сохранить сообщение как enum
и идентификатор связанной информации в виде нескольких int
s. Например:
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; }
}
Проблема с этим является идентификатором. Они не имеют большого значения, и они не строго типизированы, поэтому я должен был бы знать, как их использовать по типу.
Другим решением было бы просто сохранить его как строку и попытаться перевести его, если язык не является английским. Который может быть легко запутанным.
Окончательный метод заключается в том, чтобы просто сохранить сообщение в качестве выбранного в данный момент языка, а когда они меняют свой язык, сообщение останется прежним, а новые сообщения будут на новом языке.
Возможно, есть лучший и более стандартный подход к этому, но я только что придумал это.
Рекомендуемый способ это использование ресурсов. Взгляните на эту статью: http://www.c-sharpcorner.com/UploadFile/4d9083/globalization-and-localization-in-Asp-Net-mvc-4/ – JuanR
@Juan Я знаю о ресурсах. Вопрос в том, как хранить уведомления? –