我有一个名为Status的实体,我存储了不同的状态。我有这个实体的两个属性:IdStatus和Name。
此实体填充如下:
IdStatus: 1 - Name: Open
IdStatus: 2 - Name: Closed
IdStatus: 3 - Name: Deleted
我像这样检索我的状态:
[HttpGet]
private void RetrieveMyStatus(MyViewModel model)
{
var sta = entities.Status.Select(o => new SelectListItem { Text = o.Name, Value = o.IdStatus.ToString() }).ToList();
model.Status = sta;
}
如你所见,直到现在,我只管理英语。但现在,我也想管理法语。
我想我必须像这样调整我的实体:
IdStatus: 1 - NameEN: Open - NameFR: Ouvert
IdStatus: 2 - NameEN: Closed - NameFR: Fermé
IdStatus: 3 - NameEN: Deleted - NameFR: Supprimé
如何根据用户的文化来调整我的函数RetrieveMyStatus以获取法语或英语的Name属性? (存储在sessionWrapper.Culture中)我不知道最好的方法是什么?
感谢您的帮助。
答案 0 :(得分:0)
将Name
值放在强类型Resource
中。然后为您可能需要提供的其他本地化资源定义resx文件。例如,您将有一个默认值,这将在Resources.resx中。如果您还需要提供法语资源,请创建一个包含法语字符串的Resources.fr.resx文件(两个键中的键必须相同)
然后,这将使用请求的当前UICulture从适当的资源文件中获取Name
。