LinkedIn 关注按钮语言问题
LinkedIn follow button language issue
我正在尝试让 LinkedIn "follow" 按钮以其他语言显示在我的网站上,该按钮已经根据浏览器设置进行了大量本地化,我注意到 LinkedIn API 似乎不接受 "simple" 的语言代码,即 2 个字母,如 "fr"。它似乎只想要 "fr_FR" 这样的代码。使用 "fr" 我看到如下错误:
'fr' is not a supported language, defaulting to 'en_US'
这是不可接受的,因为许多(所有?)浏览器都允许这样做,因为许多用户可能只选择一种没有特定国家变体的语言。
有什么简单的解决方法?
如果浏览器的语言接受设置中只有 2 个字母,答案将是一种伪造 ISO3166 代码的编程方法。但我不认为有一种方法总是正确的,尽管看起来主要语言似乎有一个对应的 ISO3166 国家代码与语言相同(fr_FR、de_DE、es_ES - 但是,有趣的是:没有 en_EN )。所以我猜 hack 的方法是只添加下划线和 2 个字母的大写版本,如果它们还不存在的话,让它中断并默认为那些没有变体的语言的美国英语那。但是,我宁愿做得更好。
不幸的是 LinkedIn 的 API 就是这样做的,因为标准似乎明确指出 country/region 代码是可选的。见 http://en.wikipedia.org/wiki/IETF_language_tag
我正在尝试让 LinkedIn "follow" 按钮以其他语言显示在我的网站上,该按钮已经根据浏览器设置进行了大量本地化,我注意到 LinkedIn API 似乎不接受 "simple" 的语言代码,即 2 个字母,如 "fr"。它似乎只想要 "fr_FR" 这样的代码。使用 "fr" 我看到如下错误:
'fr' is not a supported language, defaulting to 'en_US'
这是不可接受的,因为许多(所有?)浏览器都允许这样做,因为许多用户可能只选择一种没有特定国家变体的语言。
有什么简单的解决方法?
如果浏览器的语言接受设置中只有 2 个字母,答案将是一种伪造 ISO3166 代码的编程方法。但我不认为有一种方法总是正确的,尽管看起来主要语言似乎有一个对应的 ISO3166 国家代码与语言相同(fr_FR、de_DE、es_ES - 但是,有趣的是:没有 en_EN )。所以我猜 hack 的方法是只添加下划线和 2 个字母的大写版本,如果它们还不存在的话,让它中断并默认为那些没有变体的语言的美国英语那。但是,我宁愿做得更好。
不幸的是 LinkedIn 的 API 就是这样做的,因为标准似乎明确指出 country/region 代码是可选的。见 http://en.wikipedia.org/wiki/IETF_language_tag