Browser Country

Determine browser language and country

by Greg Finzer

JavaScript

function isCanada()
{
    var country = (getBrowserCountry() || '').toLowerCase();
    
    return country === 'ca' || country === 'canada';
}

function getBrowserCountry()
{
	var language = getFirstBrowserLanguage();
    
    if (language)
    {
        if (language.indexOf('-') !== -1 && language.split('-').length > 1)
    		return language.split('-')[1];

        if (lang.indexOf('_') !== -1 && language.split('_').length > 1)
            lang = lang.split('_')[1];
    }
    
    return null;
}

function getFirstBrowserLanguage() {
    var nav = window.navigator,
    browserLanguagePropertyKeys = ['language', 'browserLanguage', 'systemLanguage', 'userLanguage'],
    i,
    language;

    // support for HTML 5.1 "navigator.languages"
    if (Array.isArray(nav.languages)) {
      for (i = 0; i < nav.languages.length; i++) {
        language = nav.languages[i];
        if (language && language.length) {
          return language;
        }
      }
    }

    // support for other well known properties in browsers
    for (i = 0; i < browserLanguagePropertyKeys.length; i++) {
      language = nav[browserLanguagePropertyKeys[i]];
      if (language && language.length) {
        return language;
      }
    }

    return null;
  };

alert(getBrowserCountry());