0

我在这个项目的 url 中使用区域和城市。现在许多地区和城市的名称可能很长,而缩短的地区/城市信息的组合可能会导致歧义。

是否有一种简单的方法可以以某种方式自动缩短单词,使它们仍然有意义且可读,但被缩短而不只是切断结尾?

就像将不来梅港变成 Brmhvn 或将康涅狄格州纽黑文变成 NewHvn-Cnctct?

4

3 回答 3

3

世界城市列表中有 2797245 个城市,可从http://www.maxmind.com/app/worldcities免费获得

我会设计类似于

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

一些例子,

  • www.example.com/US/NY/-/NewYork
  • www.example.com/US/NY/ Westcheste /MtVernon(纽约州威彻斯特县的弗农山- 县被修剪为 10 个前字符。城市名称中常用词的缩写
  • www.example.com/DE/Bavaria/Munich
  • www.example.com/JP/Tohoku/Miyagi/Sendai(仙台

对于该地区,您可能需要考虑使用ISO 3166 代码。因此,慕尼黑和仙台的上述示例看起来像

  • www.example.com/JP/Tohoku/ JP-04 /仙台
  • www.example.com/DE/DE-BY/慕尼黑_

其他线索

希望能帮助到你。

于 2012-04-12T18:14:01.360 回答
2

如果您希望较短的版本对人类有意义,我认为这非常复杂,因为它不是很明显什么可以正确代表全名。

例如:我自己的城市赫尔辛堡。只给这个名字,我会把它分成每个音节一个字母。Hel-Sing-Borg -> HSB。但我从未见过有人使用这个缩写词。我认识的每个人都使用 HBG。

简而言之,我会说创建一个为任何给定游戏制作逻辑首字母缩写词的函数相当容易,但很难尝试制作一个人类可识别的函数。

如果你只是想从名字中剪掉一些字母,那可能会容易得多,但你可能想和一位英语教授谈谈,以了解可以在不影响可读性的情况下剪掉名字的哪些部分。但这是可能的,而且很可能有一些关于我们如何阅读你可以参考的单词的公开研究。

于 2012-04-12T10:15:10.257 回答
2

最好建议您采用现有的代码列表,而不是自己编写代码列表。例如,您可以使用IATA 代码邮政编码,甚至电话拨号代码(找到您自己的链接)。

于 2012-04-12T10:29:40.713 回答