2011-05-10 6 views
1

J'ai une entité nommée Status où je stocke différents statuts. J'ai deux propriétés pour cette entité: IdStatus et Name.La meilleure façon de localiser une entité?

Cette entité est remplie comme ceci:

IdStatus: 1 - Name: Open 
IdStatus: 2 - Name: Closed 
IdStatus: 3 - Name: Deleted 

je récupère mon statut comme celui-ci:

[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; 
    } 

Comme vous pouvez le voir, jusqu'à présent, j'arrive que l'anglais. Mais maintenant, j'aimerais aussi gérer le français.

Je pense que je devais adapter mon entité comme ceci:

IdStatus: 1 - NameEN: Open - NameFR: Ouvert 
IdStatus: 2 - NameEN: Closed - NameFR: Fermé 
IdStatus: 3 - NameEN: Deleted - NameFR: Supprimé 

Comment puis-je adapter mon RetrieveMyStatus fonction afin d'obtenir la propriété Nom français ou anglais en fonction de la culture de l'utilisateur? (stocké dans sessionWrapper.Culture) Je ne comprends pas quelle est la meilleure façon?

Nous vous remercions de votre aide.

Répondre

0

Placez les valeurs Name dans un Resource fortement typé. Ensuite, définissez un fichier resx pour les autres ressources localisées dont vous pourriez avoir besoin. Par exemple, vous auriez une valeur par défaut et ce serait dans Resources.resx. Si vous devez également utiliser des ressources en français, créez un fichier Resources.fr.resx avec les chaînes françaises (les clés doivent être identiques dans les deux)

Ceci utilisera ensuite l'UICulture actuelle de la demande pour obtenir le Name dans le fichier de ressources approprié.

+0

Je préfère utiliser une entité pour stocker mon statut car j'ai défini des contraintes avec d'autres entités. Je suis à la recherche d'une solution différente que vous proposez. Peut-être que nous pouvons adapter ma solution actuelle pour la localisation? Merci quand même. – Bronzato

+0

Enfin, j'ai utilisé cette solution. L'inconvénient est que je n'ai qu'une clé (1, 2, 3) dans mon entité Statut et que j'ai besoin de regarder dans un fichier de ressources pour obtenir les descriptions ... Merci. – Bronzato

Questions connexes