Il y a un joli fil ici: Get CultureInfo from current visitorObtenir la langue sélectionnée (active) sur le navigateur
Expliquer que nous pouvons facilement obtenir les langues navigateur en utilisant:
var userLanguages = Request.UserLanguages;
Le problème ici est que cela donne seulement moi les langues configurées dans le navigateur, mais pas celle sélectionnée. En même temps, la première langue du tableau ([0]) pourrait ne pas être la langue active.
Existe-t-il un moyen de trouver l'actif sur le serveur? Je sais que je pourrais le faire du côté client en utilisant javascript, mais je veux éviter les doubles appels.
Qu'est-ce que "l'élément sélectionné", exactement? Avoir une icône de drapeau quelque part sur votre site ne modifie pas l'en-tête de demande Accept-Language du navigateur. – CodeCaster
Gardez à l'esprit que 'UserLanguages' provient d'un en-tête. Les en-têtes peuvent être modifiés par des pare-feu. Donc, vous n'obtenez pas nécessairement la culture * de l'utilisateur * en regardant cet en-tête. C'est une bien meilleure expérience utilisateur que vous faites la partie culture de l'URL comme dans [cette réponse] (http://stackoverflow.com/a/32839796/181087). Il a également l'avantage de s'assurer que chaque culture est indexée par les moteurs de recherche, plutôt que seulement la langue par défaut. – NightOwl888