我有一个名为 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中)我不知道最好的方法是什么?
谢谢你的帮助。
将Name
值放在强类型Resource
中。然后为可能需要提供的其他本地化资源定义一个 resx 文件。例如,您将有一个默认值,这将在 Resources.resx 中。如果您还需要提供法语资源,请创建一个包含法语字符串的 Resources.fr.resx 文件(两者中的键需要相同)
然后,这将使用请求的当前 UI 属性从相应的资源文件中获取Name
。