Решён
Флаги для обозначения языков проблемны?

Герман Штейн UI/UX
2.9k
6

Делаю мультиязычный сайт, и встал вопрос с переключателем языков. Везде суют флаги стран, но это же логически неверно. Испанский это не только Испания, английский не только Великобритания (а некоторые ставят вообще флаг США). Португальский это Бразилия или Португалия? А китайский какой флаг вешать?

Плюс есть политические нюансы. Тайвань, например. Или языки без государства вообще (каталонский, баскский).

Кто как решает эту задачу в UI? Может есть устоявшийся паттерн который я не знаю?

Решение
62
Участник • 4 ответа

Проблема с флагами для языков обсуждается в UX-сообществе уже лет 15, и консенсус давно достигнут: флаги обозначают страны, а не языки. Это разные сущности.

Почему флаги не работают:

  • Один язык, много стран. Английский используют в 60+ странах. Какой флаг ставить? Британский обидит американцев, американский обидит остальных. Испанский, португальский, французский, арабский та же история.
  • Одна страна, много языков. В Швейцарии четыре официальных языка. В Бельгии три. В Индии 22. Флаг страны не указывает на конкретный язык.
  • Политика. Флаг Китая для упрощенного китайского, флаг Тайваня для традиционного? Поздравляю, ты потерял весь китайский рынок.
  • Языки без государства. Каталонский, валлийский, эсперанто. Нет флага, нет иконки.

Что делать:

  1. Используй ISO-коды языков в текстовом виде: EN, ES, DE, PT-BR. Или полные названия на соответствующем языке.
  2. Для выпадающего списка, иконка глобуса или просто текст текущего языка.
  3. Если заказчик настаивает на флагах (бывает), используй их только когда речь идет о региональных вариантах одного языка: флаг Бразилии для pt-BR, флаг Португалии для pt-PT. Тут флаг обозначает не язык, а локаль.

W3C прямо рекомендует не использовать флаги для выбора языка.

Аватар Герман Штейн

Спасибо за развернутый ответ. Пункт про локали vs языки расставил все по местам, пойду переделывать.

37
Участник • 4 ответа

Коротко: не используй флаги. Пиши название языка на самом этом языке. "English", "Espanol", "Deutsch". Юзер ищет свой язык и узнает его по написанию, даже если не понимает остальной интерфейс.

Если хочется визуального акцента, можно поставить иконку глобуса рядом с выпадающим списком. Но не флаг конкретной страны.

19
Эксперт • 6 ответов

А можно я скажу непопулярное мнение? Флаги работают. Для 90% сайтов, где есть 2-5 языков и целевая аудитория конкретных стран.

Если у тебя интернет-магазин, который продает в Россию, Германию и Францию, то русский флаг для русского, немецкий для немецкого, французский для французского это абсолютно нормально и все всё понимают. Никто не обижается.

Проблемы начинаются когда у тебя 30 языков, или когда аудитория размазана по всему миру. Вот тогда да, глобус + текст.

Но советовать каждому мелкому сайту отказываться от флагов потому что "каталонский язык не имеет государства" это немного оверинжиниринг, нет?

Аватар Евгения Зожникова

Проблема в том что "90% сайтов" это до первого кейса когда канадец-франкофон видит триколор и не понимает, его это вариант или нет. Привычка не значит хороший UX.

Аватар Дядя Коля

Ну а текст "Francais" без контекста ему больше поможет? Он и так знает что говорит по французски)) Вопрос в том, на какую страну ориентирован контент, цены, доставка. И тут как раз флаг уместен.

28
Участник • 2 ответа

Работаю фронтом 8 лет, прошел через эту дискуссию раза четыре на разных проектах. Каждый раз итог один: менеджер или заказчик хочет флаги потому что "красиво и понятно", дизайнер объясняет почему нет, в итоге идут на компромисс.

Компромисс обычно выглядит так: маленький текстовый переключатель в хедере, формат "RU | EN | DE". Без флагов, без глобуса, без выпадающих списков. Минималистично и никого не раздражает.

На одном проекте с арабской локализацией был прикол. Поставили флаг Саудовской Аравии. Получили гневные письма от пользователей из Египта и ОАЭ. Поменяли на текст за полдня.

8
Участник • 2 ответа

Кстати есть библиотека для React, react-language-detector, которая определяет язык браузера и сразу редиректит на нужную локаль. Тогда переключатель вообще не нужен в 95% случаев, юзер сразу попадает на свой язык.

А для оставшихся 5% можно вынести текстовый селектор куда нибудь в футер.

Написать ответ

Премодерация гостей

Вы отвечаете как гость. Ваш ответ будет скрыт до проверки модератором. Чтобы ответ появился сразу и вы получали репутацию — войдите в аккаунт.

Будьте вежливы и соблюдайте правила платформы.