From 65da520392c83ac4ad41b8f4f97d07f93182a8d4 Mon Sep 17 00:00:00 2001 From: Till JS Date: Mon, 27 Apr 2026 02:06:39 +0200 Subject: [PATCH] i18n(recipes): add namespace JSONs (de/en/es/fr/it) Adds difficulties, list_view, detail_panel, create_form sub-namespaces for the recipes ListView translation pass. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../web/src/lib/i18n/locales/recipes/de.json | 45 +++++++++++++++++++ .../web/src/lib/i18n/locales/recipes/en.json | 45 +++++++++++++++++++ .../web/src/lib/i18n/locales/recipes/es.json | 45 +++++++++++++++++++ .../web/src/lib/i18n/locales/recipes/fr.json | 45 +++++++++++++++++++ .../web/src/lib/i18n/locales/recipes/it.json | 45 +++++++++++++++++++ 5 files changed, 225 insertions(+) create mode 100644 apps/mana/apps/web/src/lib/i18n/locales/recipes/de.json create mode 100644 apps/mana/apps/web/src/lib/i18n/locales/recipes/en.json create mode 100644 apps/mana/apps/web/src/lib/i18n/locales/recipes/es.json create mode 100644 apps/mana/apps/web/src/lib/i18n/locales/recipes/fr.json create mode 100644 apps/mana/apps/web/src/lib/i18n/locales/recipes/it.json diff --git a/apps/mana/apps/web/src/lib/i18n/locales/recipes/de.json b/apps/mana/apps/web/src/lib/i18n/locales/recipes/de.json new file mode 100644 index 000000000..71da06fac --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/recipes/de.json @@ -0,0 +1,45 @@ +{ + "difficulties": { + "easy": "Einfach", + "medium": "Mittel", + "hard": "Schwer" + }, + "list_view": { + "search_placeholder": "Rezept suchen...", + "chip_favorites": "Favoriten", + "ctx_remove_fav": "Favorit entfernen", + "ctx_make_fav": "Als Favorit", + "ctx_duplicate": "Duplizieren", + "ctx_delete": "Löschen", + "add_card": "Neues Rezept", + "badge_servings": "{n} Port.", + "empty_no_recipes": "Noch keine Rezepte gespeichert.", + "action_create_first": "Erstes Rezept anlegen", + "empty_no_match": "Keine Rezepte gefunden." + }, + "detail_panel": { + "heading_visibility": "Sichtbarkeit", + "heading_ingredients": "Zutaten", + "ingredients_servings_suffix": "({n} Portionen)", + "heading_steps": "Zubereitung" + }, + "create_form": { + "heading_new_recipe": "Neues Rezept", + "placeholder_title": "Titel *", + "placeholder_description": "Beschreibung (optional)", + "label_difficulty": "Schwierigkeit", + "label_servings": "Portionen", + "label_prep_time_min": "Vorb. (Min.)", + "label_cook_time_min": "Koch (Min.)", + "label_tags": "Tags", + "label_ingredients": "Zutaten", + "placeholder_amount": "Menge", + "placeholder_ingredient": "Zutat", + "action_add_ingredient": "+ Zutat", + "label_steps": "Schritte", + "placeholder_step": "Schritt beschreiben...", + "action_add_step": "+ Schritt", + "action_cancel": "Abbrechen", + "action_create": "Erstellen" + } +} diff --git a/apps/mana/apps/web/src/lib/i18n/locales/recipes/en.json b/apps/mana/apps/web/src/lib/i18n/locales/recipes/en.json new file mode 100644 index 000000000..0b1e336dd --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/recipes/en.json @@ -0,0 +1,45 @@ +{ + "difficulties": { + "easy": "Easy", + "medium": "Medium", + "hard": "Hard" + }, + "list_view": { + "search_placeholder": "Search recipes…", + "chip_favorites": "Favorites", + "ctx_remove_fav": "Remove favorite", + "ctx_make_fav": "Mark as favorite", + "ctx_duplicate": "Duplicate", + "ctx_delete": "Delete", + "add_card": "New recipe", + "badge_servings": "{n} srv.", + "empty_no_recipes": "No recipes saved yet.", + "action_create_first": "Create your first recipe", + "empty_no_match": "No recipes found." + }, + "detail_panel": { + "heading_visibility": "Visibility", + "heading_ingredients": "Ingredients", + "ingredients_servings_suffix": "({n} servings)", + "heading_steps": "Steps" + }, + "create_form": { + "heading_new_recipe": "New recipe", + "placeholder_title": "Title *", + "placeholder_description": "Description (optional)", + "label_difficulty": "Difficulty", + "label_servings": "Servings", + "label_prep_time_min": "Prep (min)", + "label_cook_time_min": "Cook (min)", + "label_tags": "Tags", + "label_ingredients": "Ingredients", + "placeholder_amount": "Amount", + "placeholder_ingredient": "Ingredient", + "action_add_ingredient": "+ Ingredient", + "label_steps": "Steps", + "placeholder_step": "Describe step…", + "action_add_step": "+ Step", + "action_cancel": "Cancel", + "action_create": "Create" + } +} diff --git a/apps/mana/apps/web/src/lib/i18n/locales/recipes/es.json b/apps/mana/apps/web/src/lib/i18n/locales/recipes/es.json new file mode 100644 index 000000000..0dd1e561c --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/recipes/es.json @@ -0,0 +1,45 @@ +{ + "difficulties": { + "easy": "Fácil", + "medium": "Medio", + "hard": "Difícil" + }, + "list_view": { + "search_placeholder": "Buscar receta…", + "chip_favorites": "Favoritas", + "ctx_remove_fav": "Quitar de favoritas", + "ctx_make_fav": "Marcar como favorita", + "ctx_duplicate": "Duplicar", + "ctx_delete": "Eliminar", + "add_card": "Nueva receta", + "badge_servings": "{n} porc.", + "empty_no_recipes": "Aún no hay recetas guardadas.", + "action_create_first": "Crear la primera receta", + "empty_no_match": "No se encontraron recetas." + }, + "detail_panel": { + "heading_visibility": "Visibilidad", + "heading_ingredients": "Ingredientes", + "ingredients_servings_suffix": "({n} porciones)", + "heading_steps": "Preparación" + }, + "create_form": { + "heading_new_recipe": "Nueva receta", + "placeholder_title": "Título *", + "placeholder_description": "Descripción (opcional)", + "label_difficulty": "Dificultad", + "label_servings": "Porciones", + "label_prep_time_min": "Prep. (min)", + "label_cook_time_min": "Cocción (min)", + "label_tags": "Etiquetas", + "label_ingredients": "Ingredientes", + "placeholder_amount": "Cantidad", + "placeholder_ingredient": "Ingrediente", + "action_add_ingredient": "+ Ingrediente", + "label_steps": "Pasos", + "placeholder_step": "Describe el paso…", + "action_add_step": "+ Paso", + "action_cancel": "Cancelar", + "action_create": "Crear" + } +} diff --git a/apps/mana/apps/web/src/lib/i18n/locales/recipes/fr.json b/apps/mana/apps/web/src/lib/i18n/locales/recipes/fr.json new file mode 100644 index 000000000..eaaed73d9 --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/recipes/fr.json @@ -0,0 +1,45 @@ +{ + "difficulties": { + "easy": "Facile", + "medium": "Moyen", + "hard": "Difficile" + }, + "list_view": { + "search_placeholder": "Rechercher une recette…", + "chip_favorites": "Favoris", + "ctx_remove_fav": "Retirer des favoris", + "ctx_make_fav": "Ajouter aux favoris", + "ctx_duplicate": "Dupliquer", + "ctx_delete": "Supprimer", + "add_card": "Nouvelle recette", + "badge_servings": "{n} pers.", + "empty_no_recipes": "Aucune recette enregistrée.", + "action_create_first": "Créer la première recette", + "empty_no_match": "Aucune recette trouvée." + }, + "detail_panel": { + "heading_visibility": "Visibilité", + "heading_ingredients": "Ingrédients", + "ingredients_servings_suffix": "({n} portions)", + "heading_steps": "Préparation" + }, + "create_form": { + "heading_new_recipe": "Nouvelle recette", + "placeholder_title": "Titre *", + "placeholder_description": "Description (facultatif)", + "label_difficulty": "Difficulté", + "label_servings": "Portions", + "label_prep_time_min": "Prép. (min)", + "label_cook_time_min": "Cuisson (min)", + "label_tags": "Tags", + "label_ingredients": "Ingrédients", + "placeholder_amount": "Quantité", + "placeholder_ingredient": "Ingrédient", + "action_add_ingredient": "+ Ingrédient", + "label_steps": "Étapes", + "placeholder_step": "Décrivez l'étape…", + "action_add_step": "+ Étape", + "action_cancel": "Annuler", + "action_create": "Créer" + } +} diff --git a/apps/mana/apps/web/src/lib/i18n/locales/recipes/it.json b/apps/mana/apps/web/src/lib/i18n/locales/recipes/it.json new file mode 100644 index 000000000..2eeac2406 --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/recipes/it.json @@ -0,0 +1,45 @@ +{ + "difficulties": { + "easy": "Facile", + "medium": "Medio", + "hard": "Difficile" + }, + "list_view": { + "search_placeholder": "Cerca ricetta…", + "chip_favorites": "Preferiti", + "ctx_remove_fav": "Rimuovi dai preferiti", + "ctx_make_fav": "Aggiungi ai preferiti", + "ctx_duplicate": "Duplica", + "ctx_delete": "Elimina", + "add_card": "Nuova ricetta", + "badge_servings": "{n} porz.", + "empty_no_recipes": "Nessuna ricetta salvata.", + "action_create_first": "Crea la prima ricetta", + "empty_no_match": "Nessuna ricetta trovata." + }, + "detail_panel": { + "heading_visibility": "Visibilità", + "heading_ingredients": "Ingredienti", + "ingredients_servings_suffix": "({n} porzioni)", + "heading_steps": "Preparazione" + }, + "create_form": { + "heading_new_recipe": "Nuova ricetta", + "placeholder_title": "Titolo *", + "placeholder_description": "Descrizione (opzionale)", + "label_difficulty": "Difficoltà", + "label_servings": "Porzioni", + "label_prep_time_min": "Prep. (min)", + "label_cook_time_min": "Cottura (min)", + "label_tags": "Tag", + "label_ingredients": "Ingredienti", + "placeholder_amount": "Quantità", + "placeholder_ingredient": "Ingrediente", + "action_add_ingredient": "+ Ingrediente", + "label_steps": "Passaggi", + "placeholder_step": "Descrivi il passaggio…", + "action_add_step": "+ Passaggio", + "action_cancel": "Annulla", + "action_create": "Crea" + } +}