fix(i18n): translate remaining recipe card/detail strings, localize AI responses

Recipe cards, the recipe detail page, and meal planner still rendered raw
"{n} servings"/"{n}m cook"/"{n} srv" text and untranslated difficulty labels
outside the earlier i18n pass. Also wires the user's locale into AI features
that previously always answered in English regardless of app language:
recipe chat, ingredient substitution, recipe ideas, and generate-from-idea.
The recipe-language picker in the AI generate dialog now defaults to the
user's locale instead of always defaulting to English.
This commit is contained in:
Arnaud
2026-07-02 08:25:51 +02:00
parent 01fdbb880b
commit 2154512e54
15 changed files with 64 additions and 24 deletions
@@ -18,6 +18,7 @@ import { Label } from "@/components/ui/label";
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";
import { cn } from "@/lib/utils";
import { FakeProgressBar } from "@/components/ui/fake-progress-bar";
import { useLocale } from "@/lib/i18n/provider";
const LANGUAGES = [
{ code: "en", label: "English" },
@@ -72,11 +73,12 @@ export function AiGenerateDialog({
}) {
const t = useTranslations("ai.generate");
const router = useRouter();
const locale = useLocale();
const [tab, setTab] = useState<Tab>("describe");
// describe tab
const [prompt, setPrompt] = useState("");
const [language, setLanguage] = useState("en");
const [language, setLanguage] = useState(locale);
const [difficulty, setDifficulty] = useState<"" | "easy" | "medium" | "hard">("");
// photo tab