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": {
|
||||
|
||||
Reference in New Issue
Block a user