Giter Site home page Giter Site logo

max-mapper / browser-locale Goto Github PK

View Code? Open in Web Editor NEW
105.0 5.0 10.0 6 KB

normalizes weird cross browser issues and tries to return the users selected language in 100% client side JS by looking at various properties on the `window.navigator` object

JavaScript 100.00%

browser-locale's Introduction

browser-locale

NPM

normalizes weird cross browser issues and tries to return the users selected language in 100% client side JS by looking at various properties on the window.navigator object

note that another technique used to detect the browsers user-set language preference is to look at the accept-language header set on outgoing http requests, but this requires making a round trip XHR to a server, which is what jquery-browser-language does.

however, it seems that as of 2014 you can get the user specified language without making a HTTP request (see index.js for details)

installation

npm install browser-locale

use browserify or browserify-cdn to package it for browser use

usage

var locale = require('browser-locale')()
// locale will be e.g. en-US or undefined if it could not be detected (e.g. you are in a super weird browser)

tips

Not all browsers are consistent in their capitalization of language tags, e.g. en-US vs en-us. Keep this in mind when looking for matches in locale strings.

See also locale2, an alternative module for detecting a user's locale.

browser-locale's People

Contributors

max-mapper avatar zeke avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

browser-locale's Issues

Safari returns en-us instead of en-US

Hi,

As stated here safari behaves incorrectly.

Maybe the following snippet could be added:

var locale = navigator.language.split('-')  
locale = locale[1] ? `${locale[0]}-${locale[1].toUpperCase()}` : navigator.language  

Thanks

Chrome browser language not necessarily first in languages list

It seems that in the latest version of Chrome (v. 59.0.3071.115), the display language is not necessarily the first one in the window.navigator.languages list (so taking languages[0] gets a wrong result).

See screenshots below:

Chrome navigator
chrome_navigator

Chrome settings
chrome_settings

Maybe it would be an idea to take into account the window.navigator.language value first and, if not found, use the first entry in the window.navigator.languages array.

P.S.: As far as I could see, now even the latest versions of IE and Edge set the window.navigator.language value.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.