Frage

Ich habe mich gefragt, wie Sie mit Permalinks auf internationalen Websites umgehen.Mit Permalink meine ich einen Link, der einzigartig und für Menschen lesbar ist.

Z.B.Für englische Phrasen ist das kein Problem, z.B. /product/some-title/

Aber was tun, wenn der Produkttitel beispielsweise in chinesischer Sprache ist?Wie gehen Sie mit diesem Problem um?

Ich implementieren eine internationale Website und eine Anforderung besteht darin, für Menschen lesbare URLs zu haben.Danke für jeden Kommentar

War es hilfreich?

Lösung

Wie wäre es mit Schema wie / productid / {productid-Nummer} / some-Titel / wo sieht die Stelle an der {Nummer} und ignoriert den ‚some-Titel‘ Teil vollständig. Sie können, dass setzen in welcher Sprache oder codieren, die Sie mögen, weil es nicht benutzt wird.

Andere Tipps

Charaktere außerhalb des ISO Latin-1 Satz nicht in URLs erlaubt nach diese spec , so chinesische Saiten sofort heraus sein würde.

Wenn der Produktname lokalisiert werden können, können Sie Urls wie <DOMAIN>/<LANGUAGE>/DIR/<PRODUCT_TRANSLATED> verwenden können, z.

http://www.example.com/en/products/cat/
http://www.example.com/fr/products/chat/

begleitet von einer mod_rewrite Regel auf die Wirkung von:

RewriteRule ^([a-z]+)/product/([a-z]+)? product_lookup.php?lang=$1&product=$2

Für das erste Beispiel oben wird diese Regel product_lookup.php?lang=en&product=cat nennen. Innerhalb dieses Skript ist, wo Sie die interne Übersetzungs-Engine (aus dem lang Parameter, en in diesem Fall) zugreifen würden die gleiche Übersetzung tun Seite Sie tun auf dem Benutzer gerichtete, sagt sie zu übersetzen, „Chat "auf der Seite Französisch,‚Katze‘auf Englisch, etc.

eine externe Übersetzung API wäre eine gute Idee sein, aber schwierig, ein zuverlässiges, eins zu bekommen, die korrekt in Ihrem Business-Bereich arbeitet. Google hat eine Übersetzung API rel="nofollow, aber es unterstützt derzeit nur eine begrenzte Anzahl von Sprachen.

  
      
  • Englisch <=> Arabisch
  •   
  • Englisch <=> Chinesisch
  •   
  • Englisch <=> Russisch
  •   

Hier finden Sie aktuelle Wikipedia . Sie verwenden nationale Zeichen in URLs.

Zum Beispiel, Russisch Homepage-URL: http://ru.wikipedia.org/wiki/Заглавная_страница . Der Browser verschlüsselt transparent alle Nicht-ASCII-Zeichen und ersetzt sie durch ihre Codes, wenn URL an den Server sendet. Aber auf der Webseite alle URLs sind in lesbarer Form.

Sie brauchen also nichts Besonderes tun müssen - nur Ihre Produktnamen in URLs setzen, wie ist. Der Webserver sollte in der Lage sein, sie automatisch für Ihre Anwendung zu dekodieren.

I transkribieren in der Regel die Nicht-ASCII-Zeichen. Zum Beispiel „Tast“ würde „taest“. GNU iconv kann dies für Sie tun (ich bin sicher, es gibt auch andere Bibliotheken):

$ echo täst | iconv -t 'ascii//translit'
taest

Leider sind diese Transkriptionen locale abhängig: in anderen Sprachen als Deutsch, ‚ä‘ translitertated könnte als einfach ‚a‘, zum Beispiel. Aber auf der anderen Seite, sollte es eine Umschrift für jeden sein (häufig verwendete) Zeichensatz in ASCII.

Wenn der Speicher reicht, können Sie in URLs nur englische Buchstaben verwenden.Es gibt Diskussionen darüber, das zu ändern, aber ich bin ziemlich sicher, dass es noch nicht umgesetzt wurde.

Das heißt, Sie benötigen eine Nachschlagetabelle, in der Sie Übersetzungen von Produkten/Titeln in jedes Wort zuweisen können, das sie in der anderen Sprache lauten.Zum Beispiel:

foo.com/cat benötigt eine Übersetzung, sucht nach „Katze“, „Gato“, „Neko“ usw.

Dann weiß Ihr HTTP-Modul, das diese menschlichen Leseobjekte in eine genaue URL analysiert, anhand der Übersetzungen, welche Seite bereitgestellt werden soll.

einen Blick nach oben Erstellen für so etwas scheint einen Überlauf zu mir. Ich kann keinen Nachschlag für alle unterschiedlichen Worte in allen Sprachen erstellen. Vielleicht Idee wäre eine gute eine Übersetzung API zugreifen.

So soweit ich es nicht möglich sehen kann fremde Zeichen in der permalink zu verwenden, da die sepecs der URL nicht möglich ist.

Was denken Sie, die Specials Zeichen der Codierung? werden diese URLs dann von Google erkannt?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top