i18n(food): extend with detail sub-namespace for /food/[id] page

Adds detail: page-title (with {description}), back link, not-found
copy, lightbox aria-labels, edit-form labels (Mahlzeittyp/Beschreibung
+ 6 nutrient labels), Nährwerte section, error messages, action labels
(Erneut analysieren/Analysiere…/Speichere…/Sicher?), foods section
heading, fiber/sugar inline labels with {n}g.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-04-27 13:54:53 +02:00
parent 165a3e0d12
commit 99e5621468
5 changed files with 140 additions and 0 deletions

View file

@ -80,5 +80,33 @@
"mealDeleted": "Mahlzeit gelöscht", "mealDeleted": "Mahlzeit gelöscht",
"goalsSaved": "Ziele gespeichert", "goalsSaved": "Ziele gespeichert",
"favoriteAdded": "Zu Favoriten hinzugefügt" "favoriteAdded": "Zu Favoriten hinzugefügt"
},
"detail": {
"page_title_html": "{description} - Food - Mana",
"untitled_fallback": "Mahlzeit",
"back": "Zurück",
"not_found": "Mahlzeit nicht gefunden.",
"lightbox_open_aria": "Bild vergrößern",
"lightbox_close_aria": "Bild schließen",
"section_foods": "Erkannte Bestandteile",
"section_nutrients": "Nährwerte",
"label_meal_type": "Mahlzeittyp",
"label_description": "Beschreibung",
"label_calories_kcal": "Kalorien (kcal)",
"label_protein_g": "Protein (g)",
"label_carbs_g": "Kohlenhydrate (g)",
"label_fat_g": "Fett (g)",
"label_fiber_g": "Ballaststoffe (g)",
"label_sugar_g": "Zucker (g)",
"fiber_with_value": "Ballaststoffe: {n}g",
"sugar_with_value": "Zucker: {n}g",
"action_reanalyze": "🔄 Erneut analysieren",
"action_reanalyzing": "Analysiere…",
"action_saving": "Speichere…",
"confirm_sure": "Sicher?",
"error_description_required": "Beschreibung darf nicht leer sein",
"error_save_failed": "Speichern fehlgeschlagen",
"error_analyze_failed": "KI-Analyse fehlgeschlagen",
"error_delete_failed": "Löschen fehlgeschlagen"
} }
} }

View file

@ -80,5 +80,33 @@
"mealDeleted": "Meal deleted", "mealDeleted": "Meal deleted",
"goalsSaved": "Goals saved", "goalsSaved": "Goals saved",
"favoriteAdded": "Added to favorites" "favoriteAdded": "Added to favorites"
},
"detail": {
"page_title_html": "{description} - Food - Mana",
"untitled_fallback": "Meal",
"back": "Back",
"not_found": "Meal not found.",
"lightbox_open_aria": "Enlarge image",
"lightbox_close_aria": "Close image",
"section_foods": "Detected items",
"section_nutrients": "Nutrients",
"label_meal_type": "Meal type",
"label_description": "Description",
"label_calories_kcal": "Calories (kcal)",
"label_protein_g": "Protein (g)",
"label_carbs_g": "Carbohydrates (g)",
"label_fat_g": "Fat (g)",
"label_fiber_g": "Fiber (g)",
"label_sugar_g": "Sugar (g)",
"fiber_with_value": "Fiber: {n}g",
"sugar_with_value": "Sugar: {n}g",
"action_reanalyze": "🔄 Re-analyze",
"action_reanalyzing": "Analyzing…",
"action_saving": "Saving…",
"confirm_sure": "Sure?",
"error_description_required": "Description cannot be empty",
"error_save_failed": "Save failed",
"error_analyze_failed": "AI analysis failed",
"error_delete_failed": "Delete failed"
} }
} }

View file

@ -80,5 +80,33 @@
"mealDeleted": "Comida eliminada", "mealDeleted": "Comida eliminada",
"goalsSaved": "Objetivos guardados", "goalsSaved": "Objetivos guardados",
"favoriteAdded": "Añadido a favoritos" "favoriteAdded": "Añadido a favoritos"
},
"detail": {
"page_title_html": "{description} - Food - Mana",
"untitled_fallback": "Comida",
"back": "Atrás",
"not_found": "Comida no encontrada.",
"lightbox_open_aria": "Ampliar imagen",
"lightbox_close_aria": "Cerrar imagen",
"section_foods": "Componentes detectados",
"section_nutrients": "Nutrientes",
"label_meal_type": "Tipo de comida",
"label_description": "Descripción",
"label_calories_kcal": "Calorías (kcal)",
"label_protein_g": "Proteína (g)",
"label_carbs_g": "Carbohidratos (g)",
"label_fat_g": "Grasa (g)",
"label_fiber_g": "Fibra (g)",
"label_sugar_g": "Azúcar (g)",
"fiber_with_value": "Fibra: {n}g",
"sugar_with_value": "Azúcar: {n}g",
"action_reanalyze": "🔄 Reanalizar",
"action_reanalyzing": "Analizando…",
"action_saving": "Guardando…",
"confirm_sure": "¿Seguro?",
"error_description_required": "La descripción no puede estar vacía",
"error_save_failed": "Error al guardar",
"error_analyze_failed": "Error en el análisis IA",
"error_delete_failed": "Error al eliminar"
} }
} }

View file

@ -80,5 +80,33 @@
"mealDeleted": "Repas supprimé", "mealDeleted": "Repas supprimé",
"goalsSaved": "Objectifs enregistrés", "goalsSaved": "Objectifs enregistrés",
"favoriteAdded": "Ajouté aux favoris" "favoriteAdded": "Ajouté aux favoris"
},
"detail": {
"page_title_html": "{description} - Food - Mana",
"untitled_fallback": "Repas",
"back": "Retour",
"not_found": "Repas introuvable.",
"lightbox_open_aria": "Agrandir l'image",
"lightbox_close_aria": "Fermer l'image",
"section_foods": "Ingrédients détectés",
"section_nutrients": "Nutriments",
"label_meal_type": "Type de repas",
"label_description": "Description",
"label_calories_kcal": "Calories (kcal)",
"label_protein_g": "Protéines (g)",
"label_carbs_g": "Glucides (g)",
"label_fat_g": "Lipides (g)",
"label_fiber_g": "Fibres (g)",
"label_sugar_g": "Sucres (g)",
"fiber_with_value": "Fibres : {n}g",
"sugar_with_value": "Sucres : {n}g",
"action_reanalyze": "🔄 Ré-analyser",
"action_reanalyzing": "Analyse…",
"action_saving": "Enregistrement…",
"confirm_sure": "Sûr ?",
"error_description_required": "La description ne peut pas être vide",
"error_save_failed": "Échec de l'enregistrement",
"error_analyze_failed": "Échec de l'analyse IA",
"error_delete_failed": "Échec de la suppression"
} }
} }

View file

@ -80,5 +80,33 @@
"mealDeleted": "Pasto eliminato", "mealDeleted": "Pasto eliminato",
"goalsSaved": "Obiettivi salvati", "goalsSaved": "Obiettivi salvati",
"favoriteAdded": "Aggiunto ai preferiti" "favoriteAdded": "Aggiunto ai preferiti"
},
"detail": {
"page_title_html": "{description} - Food - Mana",
"untitled_fallback": "Pasto",
"back": "Indietro",
"not_found": "Pasto non trovato.",
"lightbox_open_aria": "Ingrandisci immagine",
"lightbox_close_aria": "Chiudi immagine",
"section_foods": "Componenti rilevati",
"section_nutrients": "Nutrienti",
"label_meal_type": "Tipo di pasto",
"label_description": "Descrizione",
"label_calories_kcal": "Calorie (kcal)",
"label_protein_g": "Proteine (g)",
"label_carbs_g": "Carboidrati (g)",
"label_fat_g": "Grassi (g)",
"label_fiber_g": "Fibre (g)",
"label_sugar_g": "Zuccheri (g)",
"fiber_with_value": "Fibre: {n}g",
"sugar_with_value": "Zuccheri: {n}g",
"action_reanalyze": "🔄 Rianalizza",
"action_reanalyzing": "Analisi…",
"action_saving": "Salvataggio…",
"confirm_sure": "Sicuro?",
"error_description_required": "La descrizione non può essere vuota",
"error_save_failed": "Salvataggio non riuscito",
"error_analyze_failed": "Analisi AI non riuscita",
"error_delete_failed": "Eliminazione non riuscita"
} }
} }