Erstellen eines Sprachumschalters - nur 2 Sprachen - ASP.NET MVC

ASP.NET MVC-App kurz vor der Fertigstellung, dann wurde entschieden, dass es einen Sprachumschalter benötigt. Es werden einfach zwei Sprachen sein: Englisch und Japanisch. Sie sollten in der Lage sein, zwischen den beiden zu wechseln. Wenn jedoch keine ausgewählt ist, sollte die Standardsprache des Browsers ausgewählt werden.

Ich frage mich, was in diesem Fall die beste Lösung wäre.

Erster GedankeRouten! Also ändere ich die Routen um eine zu haben/{l} am Ende jeder Route und standardmäßigl = "". Dann überprüfe ich in meinem BaseController (jeder Controller basiert darauf) die Variable l in der Route. Jede Aktion gibt eine auf der Sprache basierende Ansicht zurück.

Ich wollte einfach in der Lage sein, / ja-jp am Ende der URL zu hacken, und es würde die Ansicht auf Japanisch zeigen. Es schien nicht ganz richtig zu routen. Dann war ich wirklich schlecht in meinen Ansichten und habe die Links handcodiert ... Ich konnte den Helfer nicht dazu bringen, die richtigen Links zuerst auszugeben ... und hatte die schlechte Angewohnheit, sie handcodiert zu haben. Also müsste ich jeden Link neu codieren - um die Sprachvariable am Ende zu hacken.

Zweiter Gedanke... ok, benutze jQuery, um die Sprachvariable an alle href des Ankers anzuhängen. Das scheint in bestimmten Situationen, in denen Hrefs verborgen bleiben, bis sie gebraucht werden, zu ungeschickt und schwierig zu sein.

Also ... an diesem Punkt habe ich beschlossen, einfach alles zu tun, was nötig ist. Was ist die eleganteste Art, zwischen zwei Sprachen zu wechseln - ohne Ressourcendateien zu verwenden? Ich möchte einfach, dass die Aktion zwischen zwei Ansichten basierend auf der Sprache wählt.

Muss ich jeden Link, den ich habe, umschreiben, um den Html-Helfer zu verwenden und dann die Routen zum Laufen zu bringen? Dann im BaseController einfach die Sprache auf Englisch einstellen, wenn ihr keinen Wert hat?

Jeder Rat wird sehr geschätzt, danke.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage