Выберите язык при регистрации или входе

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

Заранее спасибо!

Если вы включите настройки Discourse «Разрешить выбор локали пользователем» и «Устанавливать локаль из заголовка Accept-Language» (обе находятся в верхней части раздела «Базовая настройка»), то при первой регистрации на сайте язык пользователей будет автоматически установлен в соответствии с локалью, заданной в их веб-браузере. Во многих случаях этого достаточно для корректного определения языка пользователя.

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

Пока включена настройка сайта «Разрешить выбор локали пользователем», пользователи могут изменить свою локаль после регистрации. Это делается в разделе «Интерфейс» на странице настроек пользователя:

Существуют обсуждения на Meta о многоязычных сайтах. В этой теме есть несколько идей, которые могут оказаться полезными: Structuring a multilingual community.

Если вы используете SSO, вы можете настроить это в форме регистрации. Вот как это работает на https://Namati.org/join.

Это была бы отличная функция. :crossed_fingers:t2:

Привет, Тобиас,

отличная реализация. Как ты создал эту форму регистрации? Она выглядит очень профессионально! :slight_smile: Наш текущий процесс регистрации очень базовый. Форма регистрации, которую ты создал, создает ощущение эксклюзивности! Также было бы очень приветливо для разнообразных пользователей выбрать свой язык и страну происхождения. И вопрос о том, откуда пользователь узнал о нас, тоже отличный!

Заранее большое спасибо!

Огромное спасибо за подробные инструкции!!

Это реализовано в WordPress с помощью плагина wp-discourse и Gravity Forms. Есть некоторый пользовательский код, отвечающий за синхронизацию предпочитаемого языка интерфейса. @hudsonwebdev, возможно, готов это объяснить.

@tobiaseigen Спасибо!!

@hudsonwebdev Привет, не мог бы ты объяснить мне это?

@roomer Извините за задержку. Как уже упоминал Тобиас, это комбинация WordPress и Gravity Forms. Gravity Forms позволяет «подключаться» к отправке формы. Когда форма Gravity Forms отправляется, вы указываете ей выполнить фрагмент кода, который вы написали в файлах вашей темы или плагина. Этот код обычно состоит из PHP с использованием оператора CURL для подключения к API Discourse. Вы можете отправлять информацию, собранную в вашей форме Gravity Forms, непосредственно в Discourse.