feat: Info tab v3 — clean month/year stats, currency to Info tab, Gemini costs from .env
- .env: GEMINI_COST_* rates configurable (4 new vars, defaults to current Google pricing) - api/index.php: GEMINI_COST defines read from env() with fallback; added SHOPPING_NAME_CACHE_PATH - api/index.php: gemini_usage output — clean month_stats/year_stats (no tracked/retro split) updated token estimates: price 700/250, shelf 650/120, cat 280/40, shopping_name 250/40 added 'pricing' key to response (current rates); removed food_facts from estimate - index.html: currency selector moved from tab-api to tab-info as first card (global setting) - app.js: _renderInfoTab() rewritten — just month + year sections, no retro framing cost displayed in user's currency (price_currency) with expanded multi-currency conversion - translations: settings.info.currency_title/hint/year_label added; retro/tracked keys removed
This commit is contained in:
@@ -780,10 +780,6 @@
|
||||
"log_size": "Protokolle",
|
||||
"log_level": "Log-Level",
|
||||
"ai_overview": "KI-Nutzungsübersicht, Inventar und Systemstatus",
|
||||
"tracked_section": "Erfasst (seit Monitoring-Start)",
|
||||
"retro_section": "Rückwirkende Schätzung — {month}",
|
||||
"retro_note": "Schätzung basiert auf KI-Cache-Dateien, die vor der Monitoring-Aktivierung generiert wurden.",
|
||||
"year_section": "Jahr {year} — Gesamtschätzung",
|
||||
"calls_unit": "Aufrufe",
|
||||
"inv_title": "Inventar",
|
||||
"inv_active": "Aktiv",
|
||||
@@ -801,7 +797,10 @@
|
||||
"cache_entries": "Produkte",
|
||||
"last_backup": "Letztes Backup",
|
||||
"bring_days": "Token läuft in {n} Tagen ab",
|
||||
"bring_expired": "Token abgelaufen"
|
||||
"bring_expired": "Token abgelaufen",
|
||||
"year_label": "Jahr {year}",
|
||||
"currency_title": "Währung",
|
||||
"currency_hint": "Die Währung, die für alle Kosten und Preise in der App verwendet wird."
|
||||
}
|
||||
},
|
||||
"expiry": {
|
||||
|
||||
@@ -780,10 +780,6 @@
|
||||
"log_size": "Logs",
|
||||
"log_level": "Log level",
|
||||
"ai_overview": "AI usage overview, inventory and system status",
|
||||
"tracked_section": "Tracked (since monitoring start)",
|
||||
"retro_section": "Retroactive estimate — {month}",
|
||||
"retro_note": "Estimate based on AI cache files generated before monitoring was activated.",
|
||||
"year_section": "Year {year} — total estimate",
|
||||
"calls_unit": "calls",
|
||||
"inv_title": "Inventory",
|
||||
"inv_active": "Active",
|
||||
@@ -801,7 +797,10 @@
|
||||
"cache_entries": "products",
|
||||
"last_backup": "Last backup",
|
||||
"bring_days": "token expires in {n} days",
|
||||
"bring_expired": "token expired"
|
||||
"bring_expired": "token expired",
|
||||
"year_label": "Year {year}",
|
||||
"currency_title": "Currency",
|
||||
"currency_hint": "The currency used for all costs and prices in the app."
|
||||
}
|
||||
},
|
||||
"expiry": {
|
||||
|
||||
@@ -780,10 +780,6 @@
|
||||
"log_size": "Log",
|
||||
"log_level": "Livello log",
|
||||
"ai_overview": "Prospetto utilizzo AI, inventario e stato del sistema",
|
||||
"tracked_section": "Tracciato (da inizio monitoraggio)",
|
||||
"retro_section": "Stima retroattiva — {month}",
|
||||
"retro_note": "Stima basata sulle voci presenti nei file di cache AI, generati prima dell'attivazione del monitoraggio.",
|
||||
"year_section": "Anno {year} — totale stimato",
|
||||
"calls_unit": "call",
|
||||
"inv_title": "Inventario",
|
||||
"inv_active": "Attivi",
|
||||
@@ -801,7 +797,10 @@
|
||||
"cache_entries": "prodotti",
|
||||
"last_backup": "Ultimo backup",
|
||||
"bring_days": "token scade tra {n} giorni",
|
||||
"bring_expired": "token scaduto"
|
||||
"bring_expired": "token scaduto",
|
||||
"year_label": "Anno {year}",
|
||||
"currency_title": "Valuta",
|
||||
"currency_hint": "La valuta usata per tutti i costi e i prezzi nell'app."
|
||||
}
|
||||
},
|
||||
"expiry": {
|
||||
|
||||
Reference in New Issue
Block a user