2009-05-25 11 views
1

Ich versuche eine Webseite zu erstellen, die von einem iPhone OS-Gerät angesehen werden soll. Gibt es eine Möglichkeit, die aktuelle Sprache oder einige länderspezifische Daten abzurufen, wenn ein Benutzer ein iPhone OS-Gerät besucht? Ich möchte die Sprache der Webseite entsprechend der lokalen oder Sprache des Geräts einstellen. Wie kann ich die Spracheinstellung eines iPhone OS-Geräts auf meiner Webseite abrufen?Wie erhält man die Spracheinstellung eines iPhone OS-Geräts beim Besuch einer Webseite?

Antwort

2

Versuchen Sie es mit dem Header "Accept-Language", der vom Browser an den Server gesendet wird. Es sollte etwas wie "en-us" oder "fr-fr" usw. sein, abhängig von der Spracheinstellung für das Gerät.

0

iPhone sendet in der Tat vernünftig Accept-Language wie aus this email zu sehen.

(Allerdings ist es für mich seltsam, dass es sendet nurfr-fr. Es vernünftiger erscheint fr-fr, en-us;q=0.9 zu senden und sie könnten in das in Zukunft ändern)

Aber je mehr wichtige Informationen für Sie ist, dass Sie Ich brauche nichts Kompliziertes in deiner Situation. Dies wird content negotiation genannt und ist Standardfunktionalität von Apache und anderen Servern - sie geben die Seite automatisch in der Sprache zurück, die der Benutzer mit minimaler Konfiguration bevorzugt.

Sie müssen verschiedene Seiten für verschiedene Sprachen in verschiedenen URIs erstellen. Wenn du das nicht tust, brichst du die Idee, dass jeder Inhalt einen URI hat, der leicht an eine andere Person weitergegeben werden kann und dass die zweite Person genau denselben Inhalt sehen wird, selbst wenn ihre/ihre Sprache anders ist.

Wie Apache es tut. Sie erstellen

example.fr.html 
example.en.html 
example.de.html 

(und bearbeiten .htaccess-Datei). Dann gibt /example die Seite in der Sprache des Benutzers zurück, während /example.fr immer Französisch zurückgibt. Als zusätzlichen Bonus brauchen Sie nicht .html.

Verwandte Themen