browser - 'de' 和 'de-DE' 语言代码有什么区别?

标签 browser internationalization iso country-codes

我注意到我可以在某些地方*这些语言之间进行选择:

  • de - 德语 - Deutsch
  • de-DE - Deutsch(Deutschland) - 德语(德国)

  • *Android 初始设备设置,语言设置中的 Chrome 浏览器。如果在 Chrome 中选择 de-DE,它也会自动添加 de。

    我知道 de-DE 的意思是“德国所说的德语”。
    但我不知道还有一个说德语的国家没有自己的语言变体(例如瑞士的 de-CH 或奥地利的 de-AT)。

    那么有两种变体可供选择的原因是什么?它们有什么实际区别吗?我可以想象来自瑞士的人使用 de-CH 作为主要语言,de 作为后备语言,但他们也可以为此目的使用 de-DE,对吗?

    我知道西类牙有 es-ES,其他说西类牙语的国家有“es”,但没有自己的变体代码。

    背景:我想跟踪有多少用户使用哪种主要语言(浏览器标题),我不确定 de 和 de-de 应该一起计算还是分开计算,以及有什么区别。
    我使用来自 http://peric.github.io/GetCountries/ 的语言数据库它有“de”但没有“de-DE”语言。只有“de”的数据库是否正确?

    最佳答案

    许多环境(浏览器、Android)使用一个单一的区域设置来选择 UI 的语言,以及格式化数字、日期、时间等。

    如果您选择 de-CH(例如在 Android N 中),您将获得“德语”字符串(Android 翻译是“通用德语”),但瑞士日期/时间/等。
    例如,数字使用撇号作为千位分隔符(如 1'234'567,89),货币格式化程序将使用 CHF,依此类推。

    在 N 之前的 Android 上,您从语言列表中选择了“德语”,但默认区域设置是 de-DE(没有区域的“德语”只是一个 UI 问题)

    跟踪用户设置:不幸的是,仅仅“de”或“de-DE”并不是一个可靠的信号,因为并非所有系统都允许选择区域。
    但是,如果您看到其他内容(例如 en-CH),则它更可靠。

    您还可以尝试与来自 IP 地址的信息相关联。如果我的设置显示“de”并且我的 IP 地址在奥地利,您可能会推断出我实际上更喜欢 de-AT(不是 100% 可靠,但比“de”好)。

    关于browser - 'de' 和 'de-DE' 语言代码有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41681111/

    相关文章:

    configuration - 如何在Cypress.io(电子/ Chrome )中设置浏览器的语言?

    java - 在 Java 中检查字符串是否是 ISO 语言的 ISO 国家/地区的更简洁方法

    cocoa - Cocoa 中有一个框架来创建和操作 ISO 磁盘镜像吗?

    c# - 如何根据某些参数加载不同的 RESX 文件

    ios - 根据 ISO 8601 获取 NSDate 的日历周

    javascript - 浏览器不显示 JavaScript 的变化。它保留旧版本

    javascript - jQuery 文件上传不触发上传

    google-chrome - 删除 Chrome 扩展程序窗口中的浏览器工具栏

    http - 浏览器如何处理 HTTP keepalive 竞争条件?

    python - Django 用户名中的 Unicode 字符