2011-05-10 6 views
1

У меня есть объект с именем 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 для того, чтобы получить французское или английское Имя свойства в зависимости от культуры пользователя? (хранится в sessionWrapper.Culture) Я не понимаю, что является лучшим способом?

Благодарим за помощь.

ответ

0

Поместите значения Name в строго типизированном Resource. Затем определите файл resx для других локализованных ресурсов, которые вам могут понадобиться для обслуживания. Например, у вас будет значение по умолчанию, и это будет в Resource.resx. Если вам также нужно будет обслуживать французские ресурсы, тогда создайте файл Resources.fr.resx с французскими строками (ключи должны быть одинаковыми для обоих)

Это будет использовать текущий UICulture запроса для получения Name из соответствующего файла ресурсов.

+0

Я предпочитаю использовать объект для хранения моего статуса, потому что я определил ограничения с другими объектами. Я ищу другое решение, которое вы предлагаете. Может быть, мы можем адаптировать мое фактическое решение для локализации? Спасибо, в любом случае. – Bronzato

+0

Наконец, я использовал это решение. Недостатком является то, что у меня есть только ключ (1, 2, 3) в моем объекте Status, и вам нужно заглянуть в файл ресурсов, чтобы получить описания ... Спасибо. – Bronzato

Смежные вопросы