localization - 我有一个国家代码列表和一个语言代码列表。如何从国家/地区代码映射到语言代码?

标签 localization internationalization nlp country-codes

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

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

最佳答案

搜索“国家语言映射”会出现此Languages by Countries表,您可能可以通过一些工作将其转换为语言代码。 (国家数量不到 200 个。)

警告:这样做肯定会惹恼瑞士或加拿大等多语言国家的许多用户。对于这些国家/地区,习惯上让用户在 UI 主页上选择他们的语言。请参阅Google SwitzerlandBest Buy Canada举一些例子。这也让外籍人士和旅行者感到烦恼。

更好的是,为什么不使用 Accept-Language HTTP header 来确定要使用哪种语言?在确定用户的语言时,正确的做法是查看 Accept-Language header 。它甚至会按偏好顺序为您提供一个列表,因此,如果用户最流利地使用您不支持的某种语言,但相当流利地使用您支持的其他语言,您可以正确地回退。 Accept-Language 的一个问题是大多数用户将其保留为默认设置。不过,大多数浏览器应该默认为平台的语言设置,所以这还不错。 (一些较旧的浏览器默认为英语,这有点灾难,因为“en”实际上意味着未设置 Accept-Language。)

关于localization - 我有一个国家代码列表和一个语言代码列表。如何从国家/地区代码映射到语言代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1876103/

相关文章:

c# - 在外国Windows上测试,这可能吗?

unicode - 如何检查字素是否是字母?

java - 更改 junit 测试的默认语言环境

string - 如何拆分多个连接的单词?

nlp - 带有 NER 标记器的 TensorFlow

c++ - 是否可以在编译时/运行时生成标记字符串的全局列表?

android - 无法从 Android 中特定区域的文件夹中读取字符串

java - 如何对 NER 标签进行分组以便从整个句子中获取数据?

ios - 如何禁用 Xcode 警告 "Enable Base Internationalization"?

testing - 测试根据客户端位置显示不同的站点的最佳方法是什么?