我正在设计一个本地化的Web应用程序。我正在依赖于自动检测浏览器语言设置。但我注意到一些值得尊敬的网站要求用户选择语言。你是否知道任何实际经验中与仅自动检测用户语言有关的可用性问题?
谢谢。
我正在设计一个本地化的Web应用程序。我正在依赖于自动检测浏览器语言设置。但我注意到一些值得尊敬的网站要求用户选择语言。你是否知道任何实际经验中与仅自动检测用户语言有关的可用性问题?
谢谢。
在许多情况下,我更喜欢甚至需要“原文”而不是本地化版本,糟糕的翻译或不同的内容是主要原因。
如果您注册了多个域名,您可以基于此自动检测:当foo.com将我重定向到foo.de,或以其他方式显示德语界面时,它实际上正在忽略我选择访问foo.com的选择。
MSDN坚持给我显示令人发指的自动翻译,并且总是让我点击才能进入可读、可理解的英文页面(这是一种进步:当他们引入它时,更改语言的默认选择是类似于南非荷兰语的语言)。
使过渡容易:例如,使从不同语言的当前页面转到相应的对等页面变得容易。当我将“.com”更改为“.de”时,亚马逊经常成功,但是它失败了,没有将我引导到该物品的德语翻译。这并不总是可能的,因为这需要每个本地视图具有相同的结构和1:1页面映射。但总的来说,您必须权衡上述要求与项目的其他限制。
MSDN现在变得更好了 :)
我建议自动检测语言并将网站显示为该语言或默认语言(可能是英语),如果没有翻译。此外,在页面顶部或底部向用户提供语言选择。语言的名称应以目标语言书写。
不要那样做:英语,德语,意大利语。
但是:英语、德语、意大利语。
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.
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 "???????? ??? ??? ??".
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.
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).