From 9c65e5c0b30e230ab16c45624fb5fb5db9494ba6 Mon Sep 17 00:00:00 2001 From: jbranchaud Date: Thu, 14 May 2026 11:27:58 -0500 Subject: [PATCH] Add Get User's Preferred Language From Browser as a JavaScript TIL --- README.md | 3 +- ...t-users-preferred-language-from-browser.md | 34 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 javascript/get-users-preferred-language-from-browser.md diff --git a/README.md b/README.md index 02da8d3..f446b28 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ working across different projects via [VisualMode](https://www.visualmode.dev/). For a steady stream of TILs, [sign up for my newsletter](https://visualmode.kit.com/newsletter). -_1791 TILs and counting..._ +_1792 TILs and counting..._ See some of the other learning resources I work on: @@ -622,6 +622,7 @@ If you've learned something here, support my efforts writing daily TILs by - [Get The Response Status From An Axios Error](javascript/get-the-response-status-from-an-axios-error.md) - [Get The Time Components Of A Date](javascript/get-the-time-components-of-a-date.md) - [Get The Time Zone Of The Client Computer](javascript/get-the-time-zone-of-the-client-computer.md) +- [Get User's Preferred Language From Browser](javascript/get-users-preferred-language-from-browser.md) - [Globally Install A Package With Yarn](javascript/globally-install-a-package-with-yarn.md) - [Globally Install Specific Version Of PNPM](javascript/globally-install-specific-version-of-pnpm.md) - [Immutable Remove With The Spread Operator](javascript/immutable-remove-with-the-spread-operator.md) diff --git a/javascript/get-users-preferred-language-from-browser.md b/javascript/get-users-preferred-language-from-browser.md new file mode 100644 index 0000000..9a5fd7d --- /dev/null +++ b/javascript/get-users-preferred-language-from-browser.md @@ -0,0 +1,34 @@ +# Get User's Preferred Language From Browser + +A great way to determine a user's preferred language if you aren't able to ask +them directly is to look at the language setting for their browser's UI. + +We can get this from the instance of +[`Navigator`](https://developer.mozilla.org/en-US/docs/Web/API/Navigator) in the +user's JavaScript runtime within the browser. + +My browser's UI is set to US English, which I can verify like so: + +```javascript +> navigator.language +'en-US' +``` + +This is useful for all sorts of things like [formatting dates for +display](basic-date-formatting-without-a-library.md): + +```javascript +> const now = new Date(); +> Intl.DateTimeFormat(navigator.language).format(now) +'5/14/2026' +``` + +Or for [formatting other kinds of units for +display](formatting-values-with-units-for-display.md): + +```javascript +> const milesFormat = + Intl.NumberFormat(navigator.language, { style: "unit", unit: "mile" }); +> milesFormat.format(1500) +"1,500 mi" +```