From 1db12c4f3f47ca777e06ce80ffe9b6ad4a85b775 Mon Sep 17 00:00:00 2001 From: Binh Tran Date: Thu, 18 Jul 2024 12:16:51 -0500 Subject: [PATCH 1/2] MS85 update for Accessibility --- pages/_app.js | 2 +- pages/_document.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/_app.js b/pages/_app.js index 0862d46c..54485137 100644 --- a/pages/_app.js +++ b/pages/_app.js @@ -63,7 +63,7 @@ class MyApp extends App { diff --git a/pages/_document.js b/pages/_document.js index 72d82313..c199a860 100644 --- a/pages/_document.js +++ b/pages/_document.js @@ -9,7 +9,7 @@ export default class MyDocument extends Document { render() { return ( - + From 5dd26fcdce7ab002841e6110d962564a34dacf88 Mon Sep 17 00:00:00 2001 From: Binh Tran Date: Fri, 19 Jul 2024 11:11:20 -0500 Subject: [PATCH 2/2] MS85 update current language --- pages/_document.js | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/pages/_document.js b/pages/_document.js index c199a860..8c6e461c 100644 --- a/pages/_document.js +++ b/pages/_document.js @@ -1,15 +1,38 @@ import Document, { Html, Head, Main, NextScript } from 'next/document' +import allLanguages from '../config/allLanguages' export default class MyDocument extends Document { static async getInitialProps(ctx) { const initialProps = await Document.getInitialProps(ctx) - return { ...initialProps } + let targetLanguage = 'de' // fallback language + + try { + for (let acceptedLanguage of ctx.req.acceptsLanguages()) { + const isLanguageSupported = allLanguages.find( + (lang) => lang.value == acceptedLanguage + ) + + if (isLanguageSupported) { + targetLanguage = acceptedLanguage + break + } + } + } catch (error) { + // intentionally left blank since in some edge cases the IE11 seems to be not sending the relevant header + } + + return { + ...initialProps, + language: targetLanguage, + } } render() { + const { language } = this.props + return ( - +