Implement internationalization support across components
- Integrated `next-intl` for toast messages and locale handling in various components, including `Providers`, `CanvasUserMenu`, and `CreditOverview`. - Replaced hardcoded strings with translation keys to enhance localization capabilities. - Updated `RootLayout` to dynamically set the language attribute based on the user's locale. - Ensured consistent user feedback through localized toast messages in actions such as sign-out, canvas operations, and billing notifications.
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
import { useEffect, useRef } from "react";
|
||||
import { useTranslations } from "next-intl";
|
||||
|
||||
import type { Doc } from "@/convex/_generated/dataModel";
|
||||
import { toast } from "@/lib/toast";
|
||||
import { msg } from "@/lib/toast-messages";
|
||||
|
||||
import {
|
||||
GENERATION_FAILURE_THRESHOLD,
|
||||
@@ -10,6 +10,7 @@ import {
|
||||
} from "./canvas-helpers";
|
||||
|
||||
export function useGenerationFailureWarnings(
|
||||
t: ReturnType<typeof useTranslations<'toasts'>>,
|
||||
convexNodes: Doc<"nodes">[] | undefined,
|
||||
): void {
|
||||
const recentGenerationFailureTimestampsRef = useRef<number[]>([]);
|
||||
@@ -60,11 +61,11 @@ export function useGenerationFailureWarnings(
|
||||
}
|
||||
|
||||
if (recentFailures.length >= GENERATION_FAILURE_THRESHOLD) {
|
||||
toast.warning(msg.ai.openrouterIssues.title, msg.ai.openrouterIssues.desc);
|
||||
toast.warning(t('ai.openrouterIssuesTitle'), t('ai.openrouterIssuesDesc'));
|
||||
recentGenerationFailureTimestampsRef.current = [];
|
||||
return;
|
||||
}
|
||||
|
||||
recentGenerationFailureTimestampsRef.current = recentFailures;
|
||||
}, [convexNodes]);
|
||||
}, [t, convexNodes]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user