implement fallback language

This commit is contained in:
peintnermax
2024-10-09 10:40:15 +02:00
parent 9633853bf0
commit faf38c7f6f
4 changed files with 18 additions and 2 deletions

View File

@@ -42,6 +42,7 @@
"@zitadel/proto": "workspace:*",
"clsx": "1.2.1",
"copy-to-clipboard": "^3.3.3",
"deepmerge": "^4.3.1",
"moment": "^2.29.4",
"next": "14.2.14",
"next-intl": "^3.20.0",

View File

@@ -54,7 +54,7 @@ export default async function RootLayout({
<GlobalNav />
) : (
<div className="absolute bottom-0 right-0 flex flex-row p-4 items-center space-x-4">
<LanguageSwitcher locale={`${locale}`} />
{locale && <LanguageSwitcher locale={locale} />}
<Theme />
</div>
)}

View File

@@ -1,14 +1,20 @@
import deepmerge from "deepmerge";
import { getRequestConfig } from "next-intl/server";
import { cookies } from "next/headers";
export default getRequestConfig(async () => {
const fallback = "en";
const cookiesList = cookies();
const locale: string = cookiesList.get("NEXT_LOCALE")?.value ?? "en";
const userMessages = (await import(`../../locales/${locale}.json`)).default;
const fallbackMessages = (await import(`../../locales/${fallback}.json`))
.default;
console.log("i18nRequest", locale);
return {
locale,
messages: (await import(`../../locales/${locale}.json`)).default,
messages: deepmerge(fallbackMessages, userMessages),
};
});

9
pnpm-lock.yaml generated
View File

@@ -77,6 +77,9 @@ importers:
copy-to-clipboard:
specifier: ^3.3.3
version: 3.3.3
deepmerge:
specifier: ^4.3.1
version: 4.3.1
moment:
specifier: ^2.29.4
version: 2.30.1
@@ -1934,6 +1937,10 @@ packages:
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
deepmerge@4.3.1:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'}
define-data-property@1.1.4:
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
engines: {node: '>= 0.4'}
@@ -6317,6 +6324,8 @@ snapshots:
deep-is@0.1.4: {}
deepmerge@4.3.1: {}
define-data-property@1.1.4:
dependencies:
es-define-property: 1.0.0