From daf8c18de69f7563fe5d0519adfadedbadba7781 Mon Sep 17 00:00:00 2001 From: giancarlo Date: Sat, 20 Apr 2024 00:52:05 +0800 Subject: [PATCH] Add router refresh to language selector Added useRouter import from 'next/navigation' and implemented a router refresh in the language change function. This update ensures that cached translations are refreshed when the language is changed. --- packages/ui/src/makerkit/language-selector.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/ui/src/makerkit/language-selector.tsx b/packages/ui/src/makerkit/language-selector.tsx index 848833cc1..edfca0bfb 100644 --- a/packages/ui/src/makerkit/language-selector.tsx +++ b/packages/ui/src/makerkit/language-selector.tsx @@ -2,6 +2,8 @@ import { useCallback, useMemo, useState } from 'react'; +import { useRouter } from 'next/navigation'; + import { useTranslation } from 'react-i18next'; import { @@ -18,7 +20,7 @@ export function LanguageSelector({ onChange?: (locale: string) => unknown; }) { const { i18n } = useTranslation(); - + const router = useRouter(); const { language: currentLanguage, options } = i18n; const locales = (options.supportedLngs as string[]).filter( @@ -42,8 +44,11 @@ export function LanguageSelector({ } await i18n.changeLanguage(locale); + + // refresh cached translations + router.refresh(); }, - [i18n, onChange], + [i18n, router, onChange], ); return (