{ "app": { "name": "EverShelf", "loading": "Caricamento..." }, "nav": { "title": "๐Ÿ  EverShelf", "home": "Home", "inventory": "Dispensa", "recipes": "Ricette", "shopping": "Spesa", "log": "Log" }, "btn": { "back": "โ† Indietro", "save": "๐Ÿ’พ Salva", "cancel": "โœ• Annulla", "close": "Chiudi", "add": "โœ… Aggiungi", "delete": "Elimina", "edit": "โœ๏ธ Modifica", "search": "๐Ÿ” Cerca", "go": "โœ… Vai", "toggle_password": "๐Ÿ‘๏ธ Mostra/Nascondi", "load_more": "Carica altri...", "save_config": "๐Ÿ’พ Salva Configurazione", "save_product": "๐Ÿ’พ Salva Prodotto", "restart": "โ†บ Ricomincia", "reset_default": "โ†บ Ripristina default" }, "locations": { "dispensa": "Dispensa", "frigo": "Frigo", "freezer": "Freezer", "altro": "Altro" }, "categories": { "latticini": "Latticini", "carne": "Carne", "pesce": "Pesce", "frutta": "Frutta", "verdura": "Verdura", "pasta": "Pasta & Riso", "pane": "Pane & Forno", "surgelati": "Surgelati", "bevande": "Bevande", "condimenti": "Condimenti", "snack": "Snack & Dolci", "conserve": "Conserve", "cereali": "Cereali & Legumi", "igiene": "Igiene", "pulizia": "Pulizia Casa", "altro": "Altro", "select": "-- Seleziona --" }, "units": { "pz": "pz", "conf": "conf", "g": "g", "ml": "ml", "pieces": "Pezzi", "grams": "Grammi", "box": "Confezione", "boxes": "Confezioni" }, "shopping_sections": { "frutta_verdura": "Frutta & Verdura", "carne_pesce": "Carne & Pesce", "latticini": "Latticini & Fresco", "pane_dolci": "Pane & Dolci", "pasta": "Pasta & Cereali", "conserve": "Conserve & Salse", "surgelati": "Surgelati", "bevande": "Bevande", "pulizia_igiene": "Pulizia & Igiene", "altro": "Altro" }, "dashboard": { "expired_title": "๐Ÿšซ Scaduti", "expiring_title": "โฐ Prossime Scadenze", "stats_period": "๐Ÿ“Š Ultimi 30 giorni", "opened_title": "๐Ÿ“ฆ Prodotti Aperti", "review_title": "๐Ÿ” Da revisionare", "review_hint": "Quantitร  che sembrano anomale. Conferma se corrette o modifica.", "quick_recipe": "๐Ÿณ Ricetta veloce con prodotti in scadenza" }, "inventory": { "title": "Dispensa", "filter_all": "Tutti", "search_placeholder": "๐Ÿ” Cerca prodotto...", "empty": "Nessun prodotto qui.\nScansiona un prodotto per aggiungerlo!", "no_items_found": "Nessuna voce di inventario trovata" }, "scan": { "title": "Scansiona Prodotto", "mode_shopping": "๐Ÿ›’ Modalitร  Spesa", "mode_shopping_end": "โœ… Fine spesa", "zoom": "Zoom", "barcode_placeholder": "Inserisci codice a barre...", "quick_name_divider": "oppure scrivi il nome", "quick_name_placeholder": "Es: Mele, Zucchine, Pane...", "manual_entry": "โœ๏ธ Inserimento Manuale", "ai_identify": "๐Ÿค– Identifica con AI", "hint": "Scansiona il barcode, scrivi il nome del prodotto, oppure usa l'AI per identificarlo", "debug_toggle": "๐Ÿ› Debug Log", "barcode_acquired": "๐Ÿ”– Barcode acquisito: {code}", "scan_barcode": "๐Ÿ”– Scansiona Barcode" }, "action": { "title": "Cosa vuoi fare?", "add_btn": "๐Ÿ“ฅ AGGIUNGI", "add_sub": "in dispensa/frigo", "use_btn": "๐Ÿ“ค USA / CONSUMA", "use_sub": "dalla dispensa/frigo" }, "add": { "title": "Aggiungi alla Dispensa", "location_label": "๐Ÿ“ Dove lo metti?", "quantity_label": "๐Ÿ“ฆ Quantitร ", "conf_size_label": "๐Ÿ“ฆ Ogni confezione contiene:", "conf_size_placeholder": "es. 300", "vacuum_label": "๐Ÿซ™ Sotto vuoto", "vacuum_hint": "La scadenza verrร  estesa automaticamente", "submit": "โœ… Aggiungi" }, "use": { "title": "Usa / Consuma", "location_label": "๐Ÿ“ Da dove?", "quantity_label": "Quanto hai usato?", "partial_hint": "Oppure specifica la quantitร  usata:", "use_all": "๐Ÿ—‘๏ธ Usato TUTTO / Finito", "submit": "๐Ÿ“ค Usa questa quantitร ", "available": "๐Ÿ“ฆ Disponibile:", "not_in_inventory": "โš ๏ธ Prodotto non presente nell'inventario.", "expiry_warning": "โš ๏ธ Usa prima quella{loc} che scade il {date} โ€” {when}!" }, "product": { "title_new": "Nuovo Prodotto", "title_edit": "Modifica Prodotto", "ai_fill": "๐Ÿ“ท Scatta foto e identifica con AI", "ai_fill_hint": "L'AI compilerร  automaticamente i campi del prodotto", "name_label": "๐Ÿท๏ธ Nome Prodotto *", "name_placeholder": "Es: Latte intero, Pasta penne rigate...", "brand_label": "๐Ÿข Marca", "brand_placeholder": "Es: Barilla, Granarolo, Mutti...", "category_label": "๐Ÿ“‚ Categoria", "unit_label": "๐Ÿ“ Unitร  di misura", "default_qty_label": "๐Ÿ”ข Quantitร  default", "conf_size_label": "๐Ÿ“ฆ Ogni confezione contiene:", "conf_size_placeholder": "es. 300", "notes_label": "๐Ÿ“ Note", "notes_placeholder": "Es: senza lattosio, bio, conservare in frigo dopo apertura...", "barcode_label": "๐Ÿ”– Barcode", "barcode_placeholder": "Codice a barre (se disponibile)", "barcode_hint": "โš ๏ธ Aggiungi il barcode cosรฌ al prossimo acquisto basta scansionarlo!", "submit": "๐Ÿ’พ Salva Prodotto", "name_required": "Inserisci il nome del prodotto", "conf_size_required": "Specifica il contenuto di ogni confezione", "expiry_estimated": "Scadenza stimata:", "scan_expiry": "Scansiona data scadenza", "expiry_hint": "๐Ÿ“ Puoi modificare la data o scansionarla con la fotocamera", "add_batch": "๐Ÿ“ฆ + Lotto con scadenza diversa", "package_info": "๐Ÿ“ฆ Confezione: {info}", "edit_catalog": "โš™๏ธ Modifica scheda prodotto (nome, marca, categoriaโ€ฆ)", "not_recognized": "โš ๏ธ Prodotto non riconosciuto", "edit_info": "โœ๏ธ Modifica informazioni", "modify_details": "MODIFICA\nscadenza, luogoโ€ฆ" }, "products": { "title": "๐Ÿ“ฆ Tutti i Prodotti", "search_placeholder": "๐Ÿ” Cerca prodotto...", "empty": "Nessun prodotto nel database.\nScansiona un prodotto per iniziare!", "no_category": "Nessun prodotto in questa categoria" }, "recipes": { "title": "๐Ÿณ Ricette", "generate": "โœจ Genera nuova ricetta" }, "shopping": { "title": "๐Ÿ›’ Lista della Spesa", "bring_loading": "Connessione a Bring!...", "tab_to_buy": "๐Ÿ›๏ธ Da comprare", "tab_forecast": "๐Ÿง  In previsione", "total_label": "๐Ÿ’ฐ Totale stimato", "section_to_buy": "๐Ÿ›๏ธ Da comprare", "suggestions_title": "๐Ÿ’ก Suggerimenti AI", "suggestions_add": "โœ… Aggiungi selezionati a Bring!", "search_prices": "๐Ÿ” Cerca tutti i prezzi", "suggest_btn": "๐Ÿค– Suggerisci cosa comprare", "smart_title": "๐Ÿง  Previsioni intelligenti", "smart_empty": "Nessuna previsione disponibile.
Aggiungi prodotti alla dispensa per ricevere previsioni intelligenti.", "smart_filter_all": "Tutti", "smart_filter_critical": "๐Ÿ”ด Urgenti", "smart_filter_high": "๐ŸŸ  Presto", "smart_filter_medium": "๐ŸŸก Pianifica", "smart_filter_low": "๐ŸŸข Previsione", "smart_add": "๐Ÿ›’ Aggiungi selezionati a Bring!", "empty": "Lista della spesa vuota!\nUsa il pulsante sotto per generare suggerimenti.", "already_in_list": "๐Ÿ›’ \"{name}\" giร  nella lista della spesa", "already_in_list_short": "โ„น๏ธ Giร  nella lista della spesa", "add_prompt": "Vuoi aggiungerlo alla lista della spesa?", "smart_already": "๐Ÿ“Š La spesa intelligente prevede giร  {name}", "all_searched": "Tutti i prodotti sono giร  stati cercati. Usa ๐Ÿ”„ per ricercare singoli.", "search_complete": "Ricerca completata: {count} prodotti", "removed_sufficient": "๐Ÿงน {removed} prodotto/i con scorte sufficienti rimosso/i dalla lista" }, "ai": { "title": "๐Ÿค– Identificazione AI", "capture": "๐Ÿ“ธ Scatta Foto", "retake": "๐Ÿ”„ Riscatta", "hint": "Scatta una foto del prodotto e l'AI cercherร  di identificarlo", "identifying": "๐Ÿค– Identifico il prodotto...", "no_api_key": "โš ๏ธ Chiave API Gemini non configurata.\nAggiungi GEMINI_API_KEY nel file .env sul server.", "fields_filled": "โœ… Campi compilati dall'AI" }, "log": { "title": "๐Ÿ“’ Log Operazioni" }, "chat": { "title": "Gemini Chef", "welcome": "Ciao! Sono il tuo assistente cucina", "welcome_desc": "Chiedimi di prepararti un succo, uno spuntino, un piatto veloce... Conosco la tua dispensa, i tuoi elettrodomestici e le tue preferenze!", "suggestion_snack": "๐Ÿฟ Spuntino veloce", "suggestion_juice": "๐Ÿฅค Succo/Frullato", "suggestion_light": "๐Ÿฅ— Qualcosa di leggero", "suggestion_expiry": "โฐ Usa le scadenze", "clear": "Nuova conversazione", "placeholder": "Chiedi qualcosa..." }, "cooking": { "close": "Chiudi", "tts_btn": "Leggi ad alta voce", "restart": "โ†บ Ricomincia", "replay": "๐Ÿ”Š Rileggi", "timer": "โฑ๏ธ {time} ยท Timer", "prev": "โ—€ Precedente", "next": "Successivo โ–ถ" }, "settings": { "title": "โš™๏ธ Configurazione", "tab_api": "API Keys", "tab_bring": "Bring!", "tab_recipe": "Ricette", "tab_mealplan": "Piano Settimanale", "tab_appliances": "Elettrodomestici", "tab_spesa": "Spesa Online", "tab_camera": "Fotocamera", "tab_security": "Sicurezza", "tab_tts": "Voce (TTS)", "tab_language": "Lingua", "gemini": { "title": "๐Ÿค– Google Gemini AI", "hint": "Chiave API per identificazione prodotti, scadenze e ricette.", "key_label": "API Key Gemini" }, "bring": { "title": "๐Ÿ›’ Bring! Shopping List", "hint": "Credenziali per l'integrazione con la lista della spesa Bring!", "email_label": "๐Ÿ“ง Email Bring!", "password_label": "๐Ÿ”’ Password Bring!" }, "recipe": { "title": "๐Ÿณ Preferenze Ricette", "hint": "Configura le opzioni predefinite per la generazione delle ricette.", "persons_label": "๐Ÿ‘ฅ Persone predefinite", "options_label": "๐ŸŽฏ Opzioni ricetta predefinite", "fast": "โšก Pasto Veloce", "light": "๐Ÿฅ— Poca Fame", "expiry": "โฐ Prioritร  Scadenze", "healthy": "๐Ÿ’š Extra Salutare", "opened": "๐Ÿ“ฆ Prioritร  Cose Aperte", "zerowaste": "โ™ป๏ธ Zero Sprechi", "dietary_label": "๐Ÿšซ Intolleranze / Restrizioni", "dietary_placeholder": "Es: senza glutine, senza lattosio, vegetariano..." }, "mealplan": { "title": "๐Ÿ“… Piano Pasti Settimanale", "hint": "Imposta la tipologia di pasto per ogni giorno. Sarร  usata come guida nella generazione delle ricette.", "enabled": "โœ… Attiva piano pasti settimanale", "legend": "๐ŸŒค๏ธ = Pranzo ยท ๐ŸŒ™ = Cena ยท Tocca un badge per cambiarlo.", "types_title": "๐Ÿ“‹ Tipologie disponibili" }, "appliances": { "title": "๐Ÿ”Œ Elettrodomestici Disponibili", "hint": "Indica gli elettrodomestici che hai a disposizione. Saranno considerati nella generazione delle ricette.", "new_placeholder": "Es: Macchina del pane, Bimby, Friggitrice ad aria...", "quick_title": "Aggiungi velocemente:", "oven": "๐Ÿ”ฅ Forno", "microwave": "๐Ÿ“ก Microonde", "air_fryer": "๐ŸŸ Friggitrice ad aria", "bread_maker": "๐Ÿž Macchina pane", "bimby": "๐Ÿค– Bimby/Cookeo", "mixer": "๐ŸŒ€ Planetaria", "steamer": "โ™จ๏ธ Vaporiera", "pressure_cooker": "๐Ÿซ• Pentola pressione", "toaster": "๐Ÿž Tostapane", "blender": "๐Ÿน Frullatore", "empty": "Nessun elettrodomestico aggiunto" }, "spesa": { "title": "๐Ÿ›๏ธ Spesa Online", "hint": "Configura il provider per la spesa online.", "provider_label": "๐Ÿช Provider", "email_label": "๐Ÿ“ง Email", "password_label": "๐Ÿ”’ Password", "login_btn": "๐Ÿ” Accedi", "ai_prompt_label": "๐Ÿค– Prompt AI selezione prodotto", "ai_prompt_placeholder": "Istruzioni per l'AI quando deve scegliere tra piรน prodotti...", "ai_prompt_hint": "L'AI usa questo prompt per scegliere il prodotto piรน appropriato tra i risultati. Lascia vuoto per il comportamento predefinito.", "configure_first": "Configura prima la Spesa Online nelle impostazioni" }, "camera": { "title": "๐Ÿ“ท Fotocamera", "hint": "Scegli quale fotocamera utilizzare per la scansione barcode e l'identificazione AI.", "device_label": "๐Ÿ“ธ Fotocamera predefinita", "back": "๐Ÿ“ฑ Posteriore (default)", "front": "๐Ÿคณ Anteriore", "devices_hint": "Se hai piรน fotocamere, puoi selezionarne una specifica dall'elenco sopra dopo aver concesso i permessi.", "detect_btn": "๐Ÿ”„ Rileva fotocamere" }, "security": { "title": "๐Ÿ”’ Certificato HTTPS", "hint": "Se il browser mostra l'errore \"La connessione non รจ privata\" (ERR_CERT_AUTHORITY_INVALID), devi installare il certificato CA nel dispositivo.", "download_btn": "๐Ÿ“ฅ Scarica Certificato CA" }, "tts": { "title": "๐Ÿ”Š Voce & TTS", "hint": "Configura la sintesi vocale tramite qualsiasi API REST esterna. I passi della ricetta e i timer scaduti verranno inviati all'endpoint configurato.", "enabled": "โœ… Attiva TTS", "url_label": "๐ŸŒ URL Endpoint", "method_label": "๐Ÿ“ก Metodo HTTP", "auth_label": "๐Ÿ” Autenticazione", "auth_bearer": "Bearer Token", "auth_custom": "Header personalizzato", "auth_none": "Nessuna", "token_label": "๐Ÿ”‘ Bearer Token", "custom_header_name": "๐Ÿ“‹ Nome header", "custom_header_value": "๐Ÿ“‹ Valore header", "content_type_label": "๐Ÿ“„ Content-Type", "payload_key_label": "๐Ÿ—๏ธ Campo testo nel payload", "payload_key_hint": "Nome del campo JSON che conterrร  il testo da leggere (es: message, text).", "extra_fields_label": "โž• Campi extra (JSON)", "extra_fields_placeholder": "{\"entity_id\": \"media_player.living_room\"}", "extra_fields_hint": "Campi aggiuntivi da includere nel payload, in formato JSON. Lascia vuoto se non necessario.", "test_btn": "๐Ÿ”Š Invia Test Vocale" }, "language": { "title": "๐ŸŒ Lingua / Language", "hint": "Seleziona la lingua dell'interfaccia. Select the interface language.", "label": "๐ŸŒ Lingua", "restart_notice": "La pagina verrร  ricaricata per applicare la nuova lingua." }, "saved": "โœ… Configurazione salvata!", "saved_local": "โœ… Configurazione salvata localmente", "saved_local_error": "โš ๏ธ Salvato localmente, errore server: {error}" }, "expiry": { "today": "OGGI", "tomorrow": "Domani", "days": "{days} giorni", "expired_days": "Da {days}g", "expired_yesterday": "Da ieri", "expired_today": "Oggi" }, "status": { "ok": "OK", "check": "Controlla", "discard": "Buttare" }, "toast": { "product_saved": "Prodotto salvato!", "product_created": "Prodotto creato!", "product_updated": "โœ… Prodotto aggiornato!", "product_removed": "Prodotto rimosso", "updated": "Aggiornato!", "quantity_confirmed": "โœ“ Quantitร  confermata", "added_to_inventory": "โœ… {name} aggiunto!", "removed_from_list": "โœ… {name} rimosso dalla lista!", "removed_from_list_short": "Rimosso dalla lista", "added_to_shopping": "๐Ÿ›’ Aggiunto alla lista della spesa!", "removed_from_shopping": "๐Ÿ›’ Rimosso dalla lista della spesa", "finished_to_bring": "๐Ÿ›’ Prodotto finito โ†’ aggiunto a Bring!", "thrown_away": "๐Ÿ—‘๏ธ {name} buttato!", "thrown_away_partial": "๐Ÿ—‘๏ธ Buttato {qty} {unit} di {name}", "appliance_added": "Elettrodomestico aggiunto", "item_added": "{name} aggiunto" }, "error": { "generic": "Errore", "loading": "Errore nel caricamento del prodotto", "not_found": "Prodotto non trovato", "not_found_manual": "Prodotto non trovato. Inseriscilo manualmente.", "search": "Errore nella ricerca. Riprova.", "search_short": "Errore nella ricerca", "save": "Errore nel salvataggio", "connection": "Errore di connessione", "camera": "Impossibile accedere alla fotocamera", "bring_add": "Errore nell'aggiunta a Bring!", "bring_connection": "Errore connessione Bring!", "identification": "Errore nell'identificazione", "barcode_empty": "Inserisci un codice a barre", "barcode_format": "Il codice a barre deve contenere solo numeri (4-14 cifre)", "min_chars": "Scrivi almeno 2 caratteri", "not_in_inventory": "Prodotto non nell'inventario", "appliance_exists": "Elettrodomestico giร  presente", "already_exists": "Giร  presente" }, "confirm": { "remove_item": "Vuoi davvero rimuovere questo prodotto dall'inventario?" }, "edit": { "title": "Modifica {name}" }, "screensaver": { "recipe_btn": "Ricette", "scan_btn": "Scansiona prodotto" }, "days": { "mon": "Lunedรฌ", "tue": "Martedรฌ", "wed": "Mercoledรฌ", "thu": "Giovedรฌ", "fri": "Venerdรฌ", "sat": "Sabato", "sun": "Domenica" }, "meal_types": { "lunch": "Pranzo", "dinner": "Cena" } }