Ahsan's Experience

sharing experiences in .net ………

How to get client’s languages using Asp.net

Recently I have fall in a situation that I need the clients language for fulfill the business requirement. I have found lots of resources about it. Today I want to share with you how to get client’s language using asp.net.

You can get the language from Browser using

HttpRequest.Request.ServerVariables(“HTTP_ACCEPT_LANGUAGE”).

or, You can also use this

HttpRequest.UserLanguages();

Here HttpRequest.UserLanguages return a array of languages,so to retrieve the language you can use index of array like,

HttpRequest.UserLanguages(0);

But there are some differents between them.HttpRequest.UserLanguages() returns a sorted array of language preferences, whereas the Request.ServerVariables(“HTTP_ACCEPT_LANGUAGE”) returns a (comma-separated) string. In other words, HttpRequest.UserLanguages appears to take the value of Request.ServerVariables(“HTTP_ACCEPT_LANGUAGE”).

There are another way you can get it from CulturalInfo class.

CultureInfo ci = System.Threading.Thread.CurrentThread.CurrentUICulture;

This will give you what is set in the browser as the current language.But you need to set UICulture=”Auto” on page or global level before using System.Threading.Thread.CurrentThread.CurrentUICulture. Otherwise it will not give you the expected result. It is really a more direct way to get the client’s culture.

May 16, 2010 Posted by | asp.net, Javascript | , , , , , | Leave a comment