Wie kann Backbone.js verwendet werden, um die Navigation in mehreren Sprachen zu verbessern?

8

Ich habe eine Website mit mehreren Sprachen, die mehrere (ein Dutzend) Inhaltsseiten mit hübschen URLs wie diesem anzeigt:

%Vor%

Ich möchte Seiten zusammenführen und eine vollständige Ajax-Navigation bereitstellen, so ähnlich wie Pitchfork . Und das Wichtigste ist, die Nicht-JavaScript-Clients (SEO, soziale Netzwerke und andere) Seite Ansicht zu erhalten.

Der Server stellt die komplette Webseite zur Verfügung, und wenn Backbone initialisiert wird, ruft er andere Seiten im Voraus ab und injiziert sie in das DOM, um die Navigation zu beschleunigen. Wenn ich auf eine andere Seite navigiere, verwende ich die Backbone-integrierte History-API, um die neue URL im Verlauf aufzuzeichnen, und ich ändere meine Ansicht, um die angeforderte Seite anzuzeigen.

%Vor%

Das Problem, das ich habe, ist die Verwaltung von i18n (ich meine übersetzte Seiten). Wie kann ich meinen Router einrichten, um mit der Sprache umzugehen? Wie sollte ich mit Sprachumschaltung umgehen?

%Vor%

Ich habe mir die i18n-JS-Frameworks angesehen, aber ich glaube nicht, dass ich das brauche, weil ich den gesamten Seiteninhalt übersetzen möchte, nicht einige UI-Elemente. Der gesamte Übersetzungsteil wird serverseitig verwaltet.

    
Fabien Quatravaux 08.02.2013, 00:53
quelle

2 Antworten

5

Danke an DashK, der mich auf der guten Straße fuhr. Die Lösung besteht darin, den Verlaufsstamm zu ändern, wenn Englisch erkannt wird.

%Vor%

Dann muss ich mich nicht um die Sprache kümmern, wenn ich router.navigate("some-chapter") in meinem Code verwende.

    
Fabien Quatravaux 12.02.2013, 16:28
quelle
3

Als Erstes können Sie Ihren Router so einrichten, dass er hoffentlich sauber bleibt.

Sie haben die BaseRouter , die Inhalte für Französisch zieht, und wenn Sie eine zusätzliche Sprache hinzufügen möchten, müssen Sie die BaseRouter mit einem anderen Sprachencode überschreiben. (Siehe EnglishRouter )

%Vor%

Hier ist die Geige, die dazu gehört: Ссылка

Im Hinblick auf die Strategie, Inhalte für verschiedene Seiten zu strukturieren - Basierend auf dem, was Sie beschrieben haben (Alle Inhalte anstelle der normalen spezifischen Zeichenfolge), könnte ein einzelnes Wörterbuch eine Option sein. (Ich denke jedoch nicht, dass es elegant ist.) Wenn Sie Ihrer Website jedoch weitere Sprachen hinzufügen, sollten Sie möglicherweise in Betracht ziehen, die Sprachen dynamisch nach Bedarf zu laden, anstatt alle Sprachen in eine einzige Datei zu stellen.

Hier ist ein Beispiel für das Wörterbuch:

%Vor%     
DashK 08.02.2013 22:40
quelle