2009-06-22 9 views
6

Je suis en train de développer une application web en utilisant ASP.NET MVC (je suis nouveau dans le framework et en fait assez nouveau pour le développement web en général). Mon application doit prendre en charge plusieurs langues - il y a un tas de pays pour lesquels j'ai besoin de l'application pour "parler" la langue locale.Application multilingue dans ASP.NET MVC - Meilleures pratiques?

Le concept de l'interface utilisateur est commun - avoir des icônes de drapeau quelque part, généralement le haut, éventuellement avec une liste déroulante supplémentaire pour inclure des langues moins courantes. À ce stade, je ne veux pas entrer dans la détection automatique du pays source, mais plutôt commencer par l'anglais et permettre aux utilisateurs de choisir le contraire (et je me souviendrai de ce réglage bien sûr).

Je voudrais savoir s'il existe un "framework" pour supporter de telles vues multilingues dans ASP.NET MVC qui facilitera le travail.

Des recommandations?

Merci

+1

Je voudrais vider les icônes de drapeau. Les drapeaux peuvent changer, certaines langues couvrent plusieurs pays, etc. Les icônes de drapeau pour la sélection de la langue sont une sorte de vieille école. Au lieu de cela, avoir une liste déroulante avec chaque sélection de langue affichée dans sa propre langue. –

+1

Je ne suis pas d'accord. Avoir des drapeaux pour vos langues les plus couramment utilisées permet d'économiser un clic et une confusion potentielle. Comment pourrais-je savoir comment changer la langue si j'atterrissais sur la page après que quelqu'un l'ait changé en arabe? Le titre déroulant ne serait plus "Sélectionner une langue". –

Répondre

6

Découvrez ces liens: first second third

a marché pour moi. Dans la vue - HtmlHelper.Resource ("greeting"); dans le contrôleur - this.Resource ("salutation");
Dans le modèle, j'ai obtenu ma propre implémentation de localisation.


Assurez-vous de vérifier la mise en œuvre this approach lors de l'examen de la localisation.

+0

Il est très surprenant que la recherche de SO (ou plus précisément la recherche en texte intégral de Microsoft) n'ait pas trouvé ces questions ... Apparemment, mon utilisation du terme «multilingue» était trop exigeante lorsqu'elle devait être «multilingue». .. Merci –

+0

Je me souviens qu'un mec a implémenté la localisation en créant des vues séparées pour chaque langue. Cela pourrait être utile pour des langages plus spécifiques (c'est-à-dire japonais), mais impliquerait un routage sérieux (la technique "Areas" de Phil Haack pourrait fonctionner, consultez @ google). –