feat(i18n): update locales, sidebar, and master plan for multilingual support

This commit is contained in:
poyrazavsever
2026-07-20 11:08:21 +03:00
parent a2c7f8cdf4
commit e5d609426d
6 changed files with 343 additions and 95 deletions
+8 -5
View File
@@ -22,13 +22,16 @@ export function I18nProvider({
messages,
}: {
children: ReactNode;
locale: string;
locale?: string;
messages: Record<string, string>;
}) {
const value = useMemo(
() => createTranslatorFromMessages(locale, messages),
[locale, messages],
);
const parentValue = useContext(I18nContext);
const value = useMemo(() => {
const finalLocale = locale ?? parentValue?.locale ?? "en";
const mergedMessages = parentValue ? { ...parentValue.messages, ...messages } : messages;
return createTranslatorFromMessages(finalLocale, mergedMessages);
}, [locale, messages, parentValue]);
return <I18nContext.Provider value={value}>{children}</I18nContext.Provider>;
}