2009-03-18 8 views
0

Dans mon projet chaque page est traduisible en plusieurs langues. Pour cela, je passe un paramètre sitelanguage à chaque action. Ma classe de contrôleur de base personnalisé attrape ce paramètre "siteLanguage" et prend en charge la logique de traduction supplémentaire. Cela fonctionne bien, la seule chose est maintenant que je dois ajouter une chaîne appelée sitelanguage à chaque signature de procédure d'action juste pour que mon contrôleur de base puisse l'attraper. Je ne fais rien avec ce paramètre dans ma logique d'action actuelle.Où mettre mon siteLangue paramètre (préoccupation transversale?)

Y a-t-il une meilleure façon de procéder?

+0

Comment utiliser CurrentCulture et CurrentUICulture? –

+0

Premièrement, ils ne sont pas fiables. Deuxièmement, il sera utilisé dans les terminaux où travaillent des personnes de toutes les nationalités. –

+0

Pas fiable de quelle façon? Vous pouvez les définir en fonction des en-têtes Accept-Language ou de ce que vous voulez. Ils resteront définis et seront utilisés par tout code sensible à la culture. Si kiosque, permettez à l'utilisateur de choisir, alors réglez CurrentCulture du choix de l'utilisateur. –

Répondre

1

Je mettrais la langue du site dans la session, et rendrais le contrôleur aux vues, ou peut-être, juste peut-être, autoriserais les vues à les récupérer à partir de là. Je suggère Culture et CurrentCulture etc, mais bien sûr, ceux qui ne fonctionnent pas si vous êtes une personne anglophone qui se connecte depuis la France. Je lie généralement la langue avec les préférences des utilisateurs dans la base de données, bien que j'apprécie que votre site ne nécessite pas une connexion en tant que telle.

Questions connexes