开发者

Displaying language lists: Which language should I use? [closed]

开发者 https://www.devze.com 2022-12-20 18:00 出处:网络
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references,or expertise, but this question will likely solicit debate, a
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. Closed 10 years ago.

Every once in a while I'm confronted with displaying a list of available languages, and each and every time I ask my self:

Is it better to display the language in:

  • the currently selected language
  • English
  • in the language according to the button/list item

Examples:

  • English
  • German
  • French

or

  • English
  • Deutsch
  • Français

Is there any convention on which one should be used, is more polite or better in any other way开发者_如何转开发? Are there other options?


I would say it's best to display the language in "its own language" (option #3). You can not necessarily expect the user to know the currently selected language, nor expect him to know English.

What's tricky is how to display the "Select your language" button in a language neutral way. I usually go for a flag indicating the current language since that tends to get the message across eventhough there's not always a 1:1 mapping between country and languages.


I definitely think you should display in the language that matches the item in the button list.

Reasons:

  1. If it's not the language you're interested in, you won't mind if you don't understand it, as long as you can find your own language.

  2. Think about the last time you called customer service. How many times have you heard something like, "Para Espanol, marque dos"? It's very common, accepted practice to mix different languages in one UI (whether visual or audible).

  3. Think about how you'd feel if you went to a Spanish site, and you couldn't find your language under "E". Maybe, eventually, you'd notice "Ingles", and think it probably translated to "English", but it's definitely better to save the user the trouble of translating and mentally alphabetizing.


The standard (in both senses of the word, i.e. what is actually used in the real world, and what the IETF/W3C/ISO says) is to use ISO 639-1 Alpha-2 language codes. Maybe augmented with either the full name of the language in English, the language itself, a romanic transliteration of the name in the language itself or any combination thereof.

So, to keep with your example:

  • [de] German - Deutsch
  • [en] English
  • [fr] French - Français
  • [ja] Japanese - 日本語 (Nihongo)


Two options, first the name of the language in the selected locale or English, then the name of the language in itself between parens, or the other way around, e.g.:

  • English
  • French (Français)
  • German (Deutsch)
  • Spanish (Español)

or

  • English
  • Français (French)
  • Deutsch (German)
  • Español (Spanish)


English language name:

Pros:

  • Predictable sorting.
  • No need to think about different text flows.

Cons:

  • Users who doesn't speak English might have ha harder time finding their language.
  • If the rest of the application is translated, it might look sloppy or grammatically wrong: Ditt språk är English/votre langue est English.

Language in its own name:

Pros:

  • Easier for the non-English speaker.
  • You have to think about encoding and text flow; A useful exercise. :-)

Cons:

  • Harder to navigate if the user is used to English or has her mind set on finding an English name.
  • You have to consider all language variants.

What is right really depends on the rest of your application. You might want to consider having all language names translated to all languages. If english is choosen, then you get to pick from:

  • English
  • Swedish
  • French

If Swedish:

  • Engelska
  • Svenska
  • Franska

...and French:

  • Anglais
  • Suédois
  • Français

But then the translantion problem has turned from O(n) to O(n^2), which might be acceptable depending on what your current value of n is.

EDIT

As deceze points out. you will also have to handle the case when a user accidentally switches to a language she doesn't understand, and provide a way back - for example by always including a few major languages.


I find it harder to find "Magyar" in a list of languages.

Because there are languages with non-latin character set, this is not a simple first-letter-lookup, as I lose focus when I first meet one of these.

Where should I look? At 'M' - Magyar? But where is M? EDIT: M in the (current language's) alphabet, not on the keyboard.

Have a look at this (from Wikipedia):

  • Български - I know, this is Bulgarian, but
  • བོད་ཡིག - what is this?
  • Bosanski
  • Català
  • Česky
  • Dansk
  • Deutsch
  • Ελληνικά

I would prefer something like this:

  • A...
  • B...
  • C...
  • .
  • .
  • Hungarian (Magyar)

If the UI was Japanese, I would ctrl+f-ing "Magyar", though.


Whatever you do don't use the IP location to set the language.

Google is very annoying about this -- when logging on from a new location I get google in the local language and script. This is really annoying particularly, anywhere southeast of Croatia.

The worse offender though is Microsoft. When trying to purchase software thier servers keep switching languages depending on your location and in many cases makes it impossible pay for anything by Credit Card as the addresses and zip codes etc. are validated in the local format and not where your credit card was actually issued. ( By the way MS the first four digits of a credit card number indicate the issuing institution which is tied to a particular country so its not rocket science to work out a UK postcode format is required rather than say a six digit german ZIP code.


Use country-flags in combination with the language name in that language (Deutsch, Francais, Nederlands, ...).


I don't know about any programming related conventions about this but i would prefer to see the name of a language in its own language. For example:

  1. English
  2. Türkçe
  3. Deutsch


Have a look at your Regional Settings.

This is how Microsoft implemented it. Seems like your version 1.

alt text http://www.freeimagehosting.net/uploads/1c14f9f60d.jpg

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号