我有一份国家/地区代码列表和一系列语言代码.如何从国家/地区代码映射到语言代码?

pri*_*ing 7 nlp localization country-codes internationalization

当用户访问该网站时,我可以获取他们的国家/地区代码.我想用它来设置默认语言(如果需要,可以稍后修改它们,只是根据他们所在的国家/地区对他们可能会说什么语言的一般猜测).

是否存在从国家/地区代码到存在于某处的语言代码的确定映射?我找不到.我知道并非特定国家的每个人都使用相同的语言,但我只需要一般的映射,用户可以稍后手动选择他们的语言.

Lau*_*ves 8

搜索"国家语言映射"会显示这个" 按国家/地区的语言" 表格,您可以通过一些工作将其转换为语言代码.(不到200个国家.)

但是警告:这样做几乎可以保证在瑞士或加拿大等多语言国家中惹恼许多用户.对于这些国家,习惯上让用户在UI的主页面上选择他们的语言.有关示例,请参阅Google SwitzerlandBest Buy Canada.这也惹恼了外籍人士和旅行者.

更好的是,为什么不使用Accept-Language HTTP标头来确定使用哪种语言?Accept-Language标题是在确定用户语言时要查看的正确事物.它甚至会按照首选项的顺序为您提供一个列表,因此如果用户能够流利地使用某些您不支持的语言,但是在您支持的其他语言中能够流利地使用,则可以正确回退.Accept-Language的一个问题是大多数用户将其保留为默认设置.但是,大多数浏览器都应该默认使用平台的语言设置,因此它不是太糟糕.(一些较旧的浏览器会默认为英语,这有点像灾难,因为"en"实际上意味着Accept-Language未被设置.)