2012-04-12 3 views
0

Ich verwende die Region und Stadt in URLs für dieses Projekt. Jetzt können viele Regionen und Städte sehr lange Namen haben, während auch Kombinationen von verkürzten Regions-/Stadtinformationen zu Mehrdeutigkeiten führen können.Algorithmus, um Namen zu lesbaren Codes zu verkürzen

Gibt es einen einfachen Ansatz, Wörter automatisch so zu verkürzen, dass sie immer noch Sinn ergeben und lesbar sind, aber verkürzt werden, ohne nur das Ende zu schneiden?

Wie Bremerhaven in Brmhvn oder New Haven, Conncticut nach NewHvn-Cncticut drehen?

Ich bin dankbar für alle inspirierenden Antworten.

+3

entfernen Sie alle Vokale. wir brauchen sie nicht! –

+2

Es gibt nur 50 Zustände, so dass Sie eine Nachschlagetabelle verwenden können, um sie ihren zwei Zeichendarstellungen zuzuordnen (z. B. New York -> NY, Connecticut -> CT) –

+2

Das Problem hier ist, was Sie "sinnvoll" nennen. Auf Polnisch kann strzlzwsk Sinn machen, aber nicht auf Englisch. Und es sind nicht die Sprachunterschiede. Sie müssen Ihre Kriterien besser definieren. –

Antwort

3

Es gibt 2.797.245 Städte in der Liste der Weltstädte frei verfügbar http://www.maxmind.com/app/worldcities

Ich würde das URL-Muster

{Country TLD}/{Abbreviation for state, province or prefecture}/{Trim of county or district}/{Trim of city} 

Einige Beispiele

ähnliche Design,

  • www.example. com/US/NY/-/New York
  • www.example.com/US/NY/ Westchester/MtVernon (Mount Vernon in Westchester County, New York) - Grafschaft auf 10 erste Zeichen getrimmt. Auch gemeinsame Wörter in Stadtnamen abgekürzt
  • www.example.com/DE/Bavaria/Munich
  • www.example.com/JP/Tohoku/Miyagi/Sendai (Sendai)

Für die Region Vielleicht möchten Sie die Verwendung der ISO 3166 code in Betracht ziehen. So würde sich die obigen Beispiele für München und Sendai wie

  • www.example.com/JP/Tohoku/ JP-04/Sendai
  • www.example.com/DE/DE-BY/München

Andere Leitungen

Hoffe, es hilft.

+0

Nur: Wow! Genau das, was ich gesucht habe. Du bist meine Lieblingsperson des Tages! Danke für Ihr Bemühen! –

2

Wenn Sie wollen, dass die kürzere Version für Menschen Sinn macht, denke ich, dass dies unglaublich komplex ist, da es nicht sehr offensichtlich ist, was den vollen Namen richtig darstellt.

Beispiel: meine eigene Stadt Helsingborg. Mit nur diesem Namen würde ich es auf einen Buchstaben pro Silbe aufteilen. Hel-Sing-Borg -> HSB. Aber ich habe noch nie jemanden gesehen, der dieses Akronym benutzt. Jeder, den ich kenne, benutzt HBG.

Kurz gesagt, es ist ziemlich einfach, eine Funktion zu erstellen, die ein logisches Akronym für ein gegebenes Spiel macht, aber sehr schwer zu versuchen, einen zu machen, der für einen Menschen erkennbar ist.

Wenn Sie nur einige Buchstaben aus einem Namen herausschneiden möchten, wäre das wahrscheinlich viel einfacher, aber Sie würden wahrscheinlich mit einem Englischprofessor sprechen wollen, um zu verstehen, welche Teile von Namen Sie ausschneiden können, ohne die Lesbarkeit. Aber es ist möglich, und es gibt höchstwahrscheinlich viele öffentlich zugängliche Studien darüber, wie wir Wörter lesen, auf die Sie sich beziehen könnten.

+0

Sie haben Recht. Das Problem ist sehr komplex und daher verwende ich einfach den einfachen "Kick the Vocals" -Ansatz, bis ich Zeit habe, eine passendere und international gültige Lösung zu finden. Wenn ich einen finde, poste ich es hier. Danke für die ausführliche Antwort. –

2

Sie sind wahrscheinlich besser beraten, eine bestehende Liste von Codes zu übernehmen, als Ihre eigene zu erstellen. Zum Beispiel könnten Sie IATA codes oder zip/postal codes verwenden, sogar Telefonvorwahlen (finden Sie Ihren eigenen Link für diese).

+0

Die IATA-Codes sind eine sehr gute Idee. Vielen Dank. Obwohl ich auch viele Städte ohne Flughäfen in meiner Liste haben werde. Ich könnte immer noch die IATA benutzen, um wenigstens gute Abkürzungen für die Städte zu finden, die einen Flughafen haben. –