浏览器语言:自动检测与用户选择?
我正在设计一个本地化的网络应用程序。 我倾向于自动检测浏览器语言设置。 但我注意到许多受人尊敬的网站要求用户选择一种语言。 您是否知道(根据实际经验)仅自动检测用户语言存在任何可用性问题?
谢谢。
I am designing a localized web app. I am leaning on auto-detect browser language setting. But I notice a number of respectable sites asking the user to select a language. Is there any usability issue you know of (from actual experiences out there) with just auto-detecting user language?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
我建议自动检测语言并以该语言或默认语言(可能是英语)显示网站(如果翻译不可用)。 另外,在页面顶部或底部向用户展示多种语言。 语言名称应以目标语言书写。
不要这样做:英语、德语、意大利语。
但是:英语、德语、意大利语。
I would suggest to autodetect the language and display the site in this language or the default languge (probably english) if the translation is not available. Additionally present the user with a selection of languages on top or bottom of your page. The names of the languages should be written in the target language.
Don't do it like that: English, German, Italian.
But: English, Deutsch, Italiano.
显然存在可用性问题,您可能会检测到用户不理解的语言。 你打算如何进行检测? 不要以为每个人都将浏览器设置为正确的语言。 IP 地址对于用户语言来说也是一个非常糟糕的指标。
实际示例:YouTube 花了一周左右的时间试图说服我使用日语版本,尽管我看不懂日语。 不是很有帮助。 当我只想阅读英文文档时,微软还决定为我提供该文档的自动翻译版本。
因此,不要试图告诉用户他们应该喜欢哪种语言,让他们自己决定。
Obviously there is the usability problem that you might detect a language that the user doesn't understand. How are you going to do the detection? Don't think everybody has their browser set to the correct language. IP-Adresses are also a very bad indicator for the users language.
Practical example: YouTube tried to convince me for a week or so to use the Japanese version, though I can't read Japanese. Not very helpful. Microsoft is also determined to serve me automatically translated versions of there documentation when I just want to read the English one.
So don't try to tell your users which language they're supposed to prefer, let them decide for themselves.
我真的很讨厌不可配置的自动检测,因为很多应用程序的翻译都非常不完美。 我宁愿读完美的英语,也不愿读蹩脚的俄语。 例如,某些术语翻译不合理,尝试翻译所有内容都会使本地化版本显得有些可笑。
此外,一些应用程序无法足够快地翻译新功能,从而导致混合语言。
所以我总是喜欢有一个选择,并选择应用程序作者的原生版本——最好的语言(除非它是我不知道的语言)。
更新:
一种超出荒谬的情况是 DB2(或其客户端工具,不确定),它迫使我安装俄语版本,但该版本中的所有错误都显示为“???????????? ???”。
I really hate non-configurable auto-detection because a lot of applications are translated more than imperfectly. I would rather read perfect English than bad Russian. For example, some terms do not translate in a reasonable way, and trying to translate everything makes localized version faintly ridiculous.
Also some applications can not translate new features fast enough, leading to a mixed language.
So I always prefer to have a choice, and choose the version that is native to the application author -- for the best language (unless it is a language I do not know).
Update:
One situation when it has gone beyond ridiculous is DB2 (or its client tools, not sure), which forced me to install a Russian version, but all errors in this version were shown as "???????? ??? ??? ??".
是的:在工作中,我们部署了“英语”语言的 Windows XP(因为我们拥有全球站点,并且只有一种 Windows 可以在语言方面仅使用一种设置进行部署)。
然而所有应用程序都必须以法语运行。 仅自动检测功能不足以适当显示标签。
Yes: at work, we have a Windows XP deployed with 'English' language (because we have worldwide site and only one kind Windows to deploy with only one kind of settings when it comes to language).
Yet all out applications must run in French. The auto-detect feature alone would not be enough for an appropriate display of the labels.
有时,当您尝试通过电话向用户描述某些内容并且您位于不同的位置时,当您查看相同的 URL 但看到不同的结果时,这是非常烦人的。 您甚至可以将语言包含在 URL 中,类似于维基百科的做法(例如 en.wikipedia.org)。
有时,用户会在朋友的计算机上尝试访问网站,但由于计算机上的语言设置而看不到其首选语言的网站。
我认为最好的解决方案是允许用户覆盖该设置,但将其默认为自动检测到的语言。
Sometimes when you are trying to describe something to a user over the phone and you are in a different location, it is very annoying when you are both looking at the same URL, but see different results. You might even go so far as to include the language in the URL similar to how wikipedia does it (e.g. en.wikipedia.org).
Also sometimes a user will be on a friend's computer and try to access a website but won't see it in their preferred language, because of the language settings on the computer.
I think the best solution would be to allow the user to override the setting, but default it to the auto-detected language.
我同意自动检测是不够的。
没有多少用户知道选择语言的设置。 因此,这些设置通常是默认设置,因此是不正确的(对于非英语用户)。
I agree that the auto-detect is not enough.
Not many users know the settings for selecting their language. Therefore the settings will often be the default and therefore incorrect (for non-english users).
在许多情况下,我更喜欢甚至需要“原始”而不是本地的,糟糕的翻译或不同的内容是主要原因。
如果您注册了多个域,您可以基于此进行自动检测:当 foo.com 将我重定向到 foo.de 或以其他方式向我显示德语界面时,它会主动忽略我访问 foo.com 的选择。
MSDN 确实坚持向我展示糟糕的自动翻译,并且总是让我点击转到可读、可理解的英文翻译(这是一个进步:当他们引入它时,更改语言的默认选择是像南非荷兰语)。
使转换变得容易:即可以轻松地转到不同语言的当前页面的对应页面。 当我将“.com”更改为“.de”时,亚马逊通常会成功,但随后它无法引导我找到该商品的德语翻译。 这并不总是可能的,因为这需要每个本地视图具有相同的结构和 1:1 页面映射。 但一般来说,您必须权衡上述要求与项目的其他限制。
[编辑] MSDN 现在变得更好了:)
In many situation I prefer or even need the "original" over my local one, bad translations or different content being the major reason.
If you register multiple domains, you can base your auto-detect on that: When foo.com redirects me to foo.de, or otherwise shows me a german interface, it is actively ignoring my choice to go to foo.com.
MSDN did insist on showing me atrocious automatic translations and ALWAYS made me click to go to the readable, understandable english one (that's a step up: when they introduced it, the default selection for changing the language was something like Afrikaans).
Make transition easy: i.e. make it easy to go to the counterpart of the current page in a different language. Amazon often succeeds when I change ".com" to ".de", but then it fails to lead me to the german translation of the item. That's not always possible, as that requires each local view having the same structure and a 1:1 page mapping. But generally, you have to weight above requirements against other constraints of the project.
[edit] MSDN got better now :)