Changer la langue pour un utilisateur non enregistré

Hi,

Some of our customers want to be able to visit our discourse in their language (we are in Switzerland, we have to play with french, german, italian and english). Thse customers are not / don’t want to register. How could we add a way for them to change language of Discourse?
I could see a dropdown menu listing some languages in the header. Is there already a plugin, of some code I could use ?

Thanks

If your site is not using a CDN to deliver assets, you could try enabling the set locale from accept language header SIte Setting. When enabled, this setting will set the locale for non-logged-in users from the language preferences they have set on their web browser. For the setting to work, you also need to enable the allow user locale Site Setting.

Hi Simon,

We aren’t using a CDN, indeed :slight_smile: I didn’t saw that switch. Its an experimental feature… is it still solid ?

Yes. As long as you are not using a CDN, it should reliably set the locale for anonymous users to their web browser’s locale. How well it works for your users will depend on whether or not they have configured their web browsers to use their preferred language. You could try enabling the setting and then asking users about how well it’s working for them.

Notez que vous pouvez désormais également permettre aux invités de définir leur langue à l’aide de l’« Sélecteur de langue pour les invités » dans Multilingual Plugin 🌐 .

Menu ou pied de page

ou

Avez-vous examiné les problèmes de mise en cache liés à cela ? Le problème n’affecterait que les sites utilisant un CDN.

Oui, j’ai assez examiné la mise en cache. Je ne pense pas encore que ce soit parfait à 100 %, mais je pense que c’est possible (de le faire correctement).

Oui, ou si l’invité souhaite utiliser une langue différente de celle de son navigateur. Par exemple, s’il utilise un ordinateur dans une bibliothèque, une école ou un autre ordinateur partagé, ou s’il est lui-même multilingue.

Le paramètre « Définir la langue à partir de l’en-tête Accept-Language » fonctionne toujours par défaut lorsque le sélecteur de langue est activé. Si l’utilisateur n’a pas explicitement cliqué sur une autre langue dans le sélecteur, il utilisera par défaut la langue de son navigateur via ce paramètre (si possible).

Puis-je utiliser uniquement le sélecteur de langue sans le plugin complet ? Existe-t-il une autre possibilité en dehors de ce plugin ?