feat: v1.7.9 — category badges, category search, AI guards
- Category badge on every inventory item (icon + label); 'altro' items refined asynchronously via new guess_category Gemini endpoint (data/category_ai_cache.json) — no AI call when key not configured - Category search: inventory search now matches by macro-category key and translated label (e.g. 'biscotti' finds all cookie items) - Brand fast-path in guessCategoryFromName (Oreo, Barilla, Lavazza…) - Fix: duplicate banner alerts — _bannerLoading guard + _queuedItemIds Set - Fix: mapToLocalCategory with en:dairies (dairi stem added) - Fix: mapToLocalCategory no longer blocks on 'altro' — falls back to guessCategoryFromName(productName) before returning 'altro' - Fix: 'Tonno all'olio' was resolving to condimenti — moved tonno\b check before olio\b in conserve regex block - AI guards: _refineCategoryBadgesAsync and fetchAllPrices now check _geminiAvailable (JS); getShoppingPrice returns no_api_key (PHP) when GEMINI_API_KEY is not set — all AI functions are now explicit
This commit is contained in:
@@ -775,7 +775,10 @@
|
||||
"appliance_exists": "Gerät bereits vorhanden",
|
||||
"already_exists": "Bereits vorhanden",
|
||||
"network_retry": "Verbindungsfehler. Erneut versuchen.",
|
||||
"select_items": "Wähle mindestens ein Produkt aus"
|
||||
"select_items": "Wähle mindestens ein Produkt aus",
|
||||
"server_offline": "Serververbindung unterbrochen",
|
||||
"server_restored": "Serververbindung wiederhergestellt",
|
||||
"server_retry": "Erneut versuchen"
|
||||
},
|
||||
"confirm": {
|
||||
"remove_item": "Möchtest du dieses Produkt wirklich aus dem Bestand entfernen?",
|
||||
|
||||
@@ -775,7 +775,10 @@
|
||||
"appliance_exists": "Appliance already exists",
|
||||
"already_exists": "Already exists",
|
||||
"network_retry": "Connection error. Try again.",
|
||||
"select_items": "Select at least one product"
|
||||
"select_items": "Select at least one product",
|
||||
"server_offline": "Server connection lost",
|
||||
"server_restored": "Server connection restored",
|
||||
"server_retry": "Retry"
|
||||
},
|
||||
"confirm": {
|
||||
"remove_item": "Do you really want to remove this product from inventory?",
|
||||
|
||||
@@ -775,7 +775,10 @@
|
||||
"appliance_exists": "Elettrodomestico già presente",
|
||||
"already_exists": "Già presente",
|
||||
"network_retry": "Errore di connessione. Riprova.",
|
||||
"select_items": "Seleziona almeno un prodotto"
|
||||
"select_items": "Seleziona almeno un prodotto",
|
||||
"server_offline": "Connessione al server persa",
|
||||
"server_restored": "Connessione al server ripristinata",
|
||||
"server_retry": "Riprova"
|
||||
},
|
||||
"confirm": {
|
||||
"remove_item": "Vuoi davvero rimuovere questo prodotto dall'inventario?",
|
||||
|
||||
Reference in New Issue
Block a user