Heim >Backend-Entwicklung >PHP-Tutorial >Gibt es eine Möglichkeit, eine mehrsprachige Website zu erstellen?
Ich habe mit Smarty eine Website geschrieben und möchte jetzt eine englische Version hinzufügen. Alle Textübersetzungen werden in JSON gespeichert, ein JSON für die chinesische Version und ein weiteres JSON für die englische Version.
Jetzt stehen wir vor einem Problem:
Die Standardsprache wird basierend auf $_SERVER['HTTP_ACCEPT_LANGUAGE']
ermittelt, aber um sicherzustellen, dass chinesische Benutzer englische Betriebssysteme verwenden (oder umgekehrt), hoffen wir, eine Option zum Erzwingen bereitzustellen Sprachumschaltung. Ich habe COOKIE zuvor verwendet, aber es gab ein Problem. Suchmaschinen konnten nur die chinesische Standardseite sehen und die englische Seite nicht scannen.
Da die chinesische Seite unverändert bleiben würde, wurde die englische Seite in mydomain.com/en/ geändert. Infolgedessen befand sich die TPL-Vorlage in Smarty immer noch im Stammverzeichnis und es gab viele 404-Fehler es wurde darauf verwiesen.
Darüber hinaus unterstützt der Server kein URL-Routing (RewriteRule kann nicht verwendet werden), sodass die Übertragungsmethode für Routing-Parameter nicht funktioniert.
Gemäß den Inhaltsrichtlinien von Google wird die Verwendung von Get zur Übergabe von Parametern nicht empfohlen, daher wird die Verwendung von URL-Get zur Übergabe von Parametern nicht mehr empfohlen.
Das aktuelle Problem besteht darin, dieselbe Website mithilfe von zwei URLs so prägnant wie möglich auszudrücken, wobei nur die Textwiedergabe unterschiedlich ist. URL-Routing kann nicht verwendet werden und Get-Parameter können nicht verwendet werden.
Ich habe über die dritte Methode nachgedacht, nämlich die chinesische Version mydomain.com/zh/ zu erstellen, aber es fühlt sich dumm an und die Domain wird leer sein.
Ich habe mit Smarty eine Website geschrieben und möchte jetzt eine englische Version hinzufügen. Alle Textübersetzungen werden in JSON gespeichert, ein JSON für die chinesische Version und ein weiteres JSON für die englische Version.
Jetzt stehen wir vor einem Problem:
Die Standardsprache wird basierend auf $_SERVER['HTTP_ACCEPT_LANGUAGE']
ermittelt, aber um sicherzustellen, dass chinesische Benutzer englische Betriebssysteme verwenden (oder umgekehrt), hoffen wir, eine Option zum Erzwingen bereitzustellen Sprachumschaltung. Ich habe COOKIE zuvor verwendet, aber es gab ein Problem. Suchmaschinen konnten nur die chinesische Standardseite sehen und die englische Seite nicht scannen.
Da die chinesische Seite unverändert bleiben würde, wurde die englische Seite in mydomain.com/en/ geändert. Infolgedessen befand sich die TPL-Vorlage in Smarty immer noch im Stammverzeichnis und es gab viele 404-Fehler es wurde darauf verwiesen.
Außerdem unterstützt der Server kein URL-Routing (RewriteRule kann nicht verwendet werden), sodass die Routing-Parameter-Übertragungsmethode nicht funktioniert.
Gemäß den Inhaltsrichtlinien von Google wird die Verwendung von Get zur Übergabe von Parametern nicht empfohlen, daher wird die Verwendung von URL-Get zur Übergabe von Parametern nicht mehr empfohlen.
Das aktuelle Problem besteht darin, dieselbe Website mithilfe von zwei URLs so prägnant wie möglich auszudrücken, wobei nur die Textwiedergabe unterschiedlich ist. URL-Routing kann nicht verwendet werden und Get-Parameter können nicht verwendet werden.
Ich habe über die dritte Methode nachgedacht, nämlich die chinesische Version mydomain.com/zh/ zu erstellen, aber es fühlt sich dumm an und die Domain wird leer sein.
https://www.microsoft.com/zh-cn
Eigentlich halte ich es überhaupt nicht für dumm = =Schließlich nutzen es große Unternehmen.
apple
Die englische Seite istapple.com
und die chinesische Seite istapple.com/cn
.
Ich weiß nicht, welches Framework Sie verwenden. Ich denke, Sie können ein filter
hinzufügen, um die /en/xxx
-Anfrage zu erfassen und das Problem mit der Vorlagenpositionierung zu beheben.