Я определенно думаю, что вы должны отображать на том языке, который соответствует пункту в списке кнопок.
Причины:
Если это не тот язык, который вас интересует, вы не будете возражать, если вы не понимаете его, до тех пор, пока вы можете найти свой собственный язык.
Подумайте о том, когда вы в последний раз звонили в службу поддержки клиентов. Сколько раз вы слышали что-то вроде: "Para Espanol, marque dos"? Смешивать разные языки в одном пользовательском интерфейсе (визуальном или звуковом) - это очень распространенная, общепринятая практика.
Подумайте, как бы вы себя чувствовали, если бы зашли на испаноязычный сайт и не смогли найти свой язык в разделе "E". Возможно, в конце концов, вы заметите "Ingles" и подумаете, что это, вероятно, переводится как "английский", но определенно лучше избавить пользователя от необходимости переводить и мысленно составлять алфавит.
Я определенно думаю, что вы должны отображаться на языке, который соответствует предмету в списке кнопок.
Причины:
Если это не тот язык, который вас интересует, вы не будете возражать, если не поймете его, если сможете найти свой язык.
Подумайте о последнем вызове службы по работе с клиентами. Сколько раз вы слышали что-то вроде «Para Espanol, marque dos»? Очень часто принято смешивать различные языки в одном пользовательском интерфейсе (визуальном или звуковом).
Подумайте о том, как бы вы себя чувствовали, если бы зашли на испанский сайт и не смогли найти свой язык под заголовком «E». Может быть, в конце концов, вы заметили бы «Ingles», и думаете, что он, вероятно, переводится на «английский», но определенно лучше избавить пользователя от проблем перевода и мысленного алфавитирования.
Я не знаю о каких-либо связанных с программированием конвенциях об этом, но я бы предпочел видеть название языка на его собственном языке. Например:
Я бы сказал, что лучше всего отображать язык на «своем языке» (вариант # 3). Вы не можете ожидать, что пользователь будет знать выбранный в настоящее время язык, и не ожидать, что он будет знать английский язык.
Сложно отобразить кнопку «Выбрать язык» нейтральным путь. Я обычно иду за флагом, указывающим текущий язык, так как это имеет тенденцию получать сообщение по всему миру, хотя не всегда существует сопоставление 1:1 между страной и языками.
Стандартом (в обоих смыслах этого слова, т.е. тем, что действительно используется в реальном мире, и тем, что говорит IETF/W3C/ISO) является использование кодов языков ISO 639-1 Alpha-2. Они могут быть дополнены либо полным названием языка на английском языке, либо самим языком, либо латинской транслитерацией названия на этом языке, либо любой их комбинацией.
Итак, продолжая ваш пример:
Два варианта: сначала название языка в выбранной локали или английском языке, затем само название языка между скобками или наоборот, например:
или
Мне труднее найти "мадьярский" в списке языков.
Поскольку существуют языки с нелатинским набором символов, это не простой поиск по первой букве, так как я теряю фокус, когда впервые встречаюсь с одним из них.
Где мне искать? В «М» - Мадьяр? Но где же М? РЕДАКТИРОВАТЬ: M в алфавите (текущего языка), а не на клавиатуре.
Взгляните на это (из Википедии):
Я бы предпочел что-то вроде этого:
Если бы пользовательский интерфейс был японским, я бы все же ctrl + f-ing "Magyar".
Название на английском языке:
Плюсы:
Минусы:
Ditt språk är English
/ votre langue est English
. Язык в собственном названии:
Плюсы:
Минусы:
Что правильно, зависит от остальной части вашего приложения. Возможно, вы захотите рассмотреть возможность перевода всех названий языков на все языки. Если выбран английский язык, вы можете выбрать из:
если шведский:
... и французского :
Но затем проблема перевода изменилась с O (n)
на O (n ^ 2)
, что могло быть приемлемым в зависимости от вашего текущего значения n
.
РЕДАКТИРОВАТЬ
Как указывает обман. вам также придется обрабатывать случай, когда пользователь случайно переключается на язык, который он не понимает, и предоставлять обратный путь - например, всегда включая несколько основных языков.
Что бы вы ни делали, не используйте IP-адрес для установки языка.
Google очень раздражает по этому поводу - при входе в систему из нового места я получаю google на местном языке и скрипт. Это особенно раздражает где угодно к юго-востоку от Хорватии.
Однако худшим преступником является Microsoft. При попытке приобрести программное обеспечение их серверы продолжают переключать языки в зависимости от вашего местоположения и во многих случаях делают невозможным оплату чего-либо кредитной картой, поскольку адреса, почтовые индексы и т. Д. Проверяются в локальном формате, а не в том месте, где была фактически выпущена ваша кредитная карта. . (Кстати, MS первые четыре цифры номера кредитной карты указывают на учреждение-эмитент, которое привязано к конкретной стране, поэтому для разработки формата британского почтового индекса требуется не ракетная наука, а не шестизначный немецкий почтовый индекс.
Используйте флаги страны в сочетании с названием языка на этом языке (Deutsch, Francais, Nederlands, ...).
Я не знаю о каких-либо конвенциях, связанных с программированием, но я бы предпочел видеть название языка на его собственном языке. For example:
Посмотрите свои региональные настройки.
Вот как это реализовала Microsoft. Похоже на вашу версию 1.
alt text http://www.freeimagehosting.net/uploads/1c14f9f60d.jpg