From 2199e3a65b4fee9c909c09e1e4a89cc9b7e3b362 Mon Sep 17 00:00:00 2001 From: Pataar Date: Mon, 5 Oct 2020 17:03:26 +0200 Subject: [PATCH 1/3] Add detectLanguage.md --- snippets/detectLanguage.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 snippets/detectLanguage.md diff --git a/snippets/detectLanguage.md b/snippets/detectLanguage.md new file mode 100644 index 000000000..79479ac56 --- /dev/null +++ b/snippets/detectLanguage.md @@ -0,0 +1,22 @@ +--- +title: detectLanguage +tags: browser,intermediate +--- + +Detects what the language of the current user is. + +- Retrieve the current language by looking in several places of the navigator object. + +```js +const detectLanguage = () => { + if (navigator.languages && navigator.languages.length) { + return navigator.languages[0]; + } else { + return navigator.userLanguage || navigator.language || navigator.browserLanguage || 'en-US'; + } +}; +``` + +```js +detectLanguage(); // "nl-NL" +``` From 0034c780b423b46c184b028e139a6fc01cc49376 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Tue, 6 Oct 2020 18:46:52 +0300 Subject: [PATCH 2/3] Update detectLanguage.md --- snippets/detectLanguage.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/snippets/detectLanguage.md b/snippets/detectLanguage.md index 79479ac56..76195b2a4 100644 --- a/snippets/detectLanguage.md +++ b/snippets/detectLanguage.md @@ -3,20 +3,18 @@ title: detectLanguage tags: browser,intermediate --- -Detects what the language of the current user is. +Detects the preferred language of the current user. -- Retrieve the current language by looking in several places of the navigator object. +- Use `NavigationLanguage.language` or the first `NavigationLanguage.languages` if available, otherwise return `defaultLang`. +- Omit the second argument, `defaultLang`, to use `'en-US'` as the default language code. ```js -const detectLanguage = () => { - if (navigator.languages && navigator.languages.length) { - return navigator.languages[0]; - } else { - return navigator.userLanguage || navigator.language || navigator.browserLanguage || 'en-US'; - } -}; +const detectLanguage = (defaultLang = 'en-US') => + navigator.language || + (Array.isArray(navigator.languages) && navigator.languages[0] ) || + defaultLang; ``` ```js -detectLanguage(); // "nl-NL" +detectLanguage(); // 'nl-NL' ``` From 7568e0bd413afff76886c35ee6b340220efe8784 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Tue, 6 Oct 2020 18:47:16 +0300 Subject: [PATCH 3/3] Update detectLanguage.md --- snippets/detectLanguage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snippets/detectLanguage.md b/snippets/detectLanguage.md index 76195b2a4..ff31377c8 100644 --- a/snippets/detectLanguage.md +++ b/snippets/detectLanguage.md @@ -11,7 +11,7 @@ Detects the preferred language of the current user. ```js const detectLanguage = (defaultLang = 'en-US') => navigator.language || - (Array.isArray(navigator.languages) && navigator.languages[0] ) || + (Array.isArray(navigator.languages) && navigator.languages[0]) || defaultLang; ```