SPEC v0.30 and v0.31: manual update check (D-140), Android Insights (D-141 to D-143)
Build Kvitt images / build (push) Failing after 3h14m40s
Build Kvitt images / build (push) Failing after 3h14m40s
v0.30: D-140 S-22 "Check for update" calls UpdateRepository.checkNow(), which always asks
GET /apk/latest and restarts the 6-hour window (AC-16.2, AC-16.6, S-22, §14.2.4).
v0.31: D-141 InsightsRepository UI contract (§14.2.4); D-142 Insights placement and loading
on S-11; D-143 display rules; design-spec S-11 "Insights" and §3.10; strings.csv 588 rows
(16 analytics_insights_* keys), web dictionaries regenerated; §11.2 W0 and W6 landed.
HANDOFF: state at 1c9856b, Pi image deploy step, numbering (D-144..D-155 reserved, next v0.32).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TQd3pEP9UeN2uifbHknQ7B
This commit is contained in:
@@ -38,6 +38,25 @@
|
||||
"analytics_group_by": "Group by",
|
||||
"analytics_group_by_account": "Account",
|
||||
"analytics_group_by_category": "Category",
|
||||
"analytics_insights_average_per_month": "Average {1} a month",
|
||||
"analytics_insights_caption:one": "Last {1} whole month · {2}",
|
||||
"analytics_insights_caption:other": "Last {1} whole months · {2}",
|
||||
"analytics_insights_categories": "Categories per month",
|
||||
"analytics_insights_change_down": "−{1}",
|
||||
"analytics_insights_change_up": "+{1}",
|
||||
"analytics_insights_forecast": "Forecast",
|
||||
"analytics_insights_forecast_caption:one": "Recurring expenses due, plus the average of other spending in the last {1} month",
|
||||
"analytics_insights_forecast_caption:other": "Recurring expenses due, plus the average of other spending in the last {1} months",
|
||||
"analytics_insights_forecast_month_spoken": "{1}: {2}, recurring {3}, average {4}",
|
||||
"analytics_insights_forecast_none": "No recurring expenses and no recent spending",
|
||||
"analytics_insights_forecast_parts": "Recurring {1} + average {2}",
|
||||
"analytics_insights_loading": "Loading insights",
|
||||
"analytics_insights_no_spending:one": "No spending in the last {1} whole month",
|
||||
"analytics_insights_no_spending:other": "No spending in the last {1} whole months",
|
||||
"analytics_insights_offline_body": "Insights are calculated on the server. Connect to the internet to see them.",
|
||||
"analytics_insights_so_far": "So far in {1}: {2}",
|
||||
"analytics_insights_title": "Insights",
|
||||
"analytics_insights_trend": "Spending per month",
|
||||
"analytics_measure": "Measure",
|
||||
"analytics_measure_household": "Household",
|
||||
"analytics_measure_my_share": "My share",
|
||||
@@ -564,6 +583,8 @@
|
||||
"update_downloading_spoken": "Downloading version {1}",
|
||||
"update_failed": "Download failed, try again",
|
||||
"update_install": "Update",
|
||||
"update_install_blocked": "The phone's security settings blocked the installation (Auto Blocker or Install unknown apps). Change the setting and try again.",
|
||||
"update_install_failed": "Could not install the update",
|
||||
"update_later": "Later",
|
||||
"update_permission_body": "Kvitt updates straight from your own server, not from the Play Store, so Android asks once whether Kvitt may Install unknown apps. Turn on Allow from this source and come back to Kvitt. The update continues by itself.",
|
||||
"update_permission_title": "Allow installation",
|
||||
|
||||
@@ -38,6 +38,25 @@
|
||||
"analytics_group_by": "Gruppera efter",
|
||||
"analytics_group_by_account": "Konto",
|
||||
"analytics_group_by_category": "Kategori",
|
||||
"analytics_insights_average_per_month": "Snitt {1} i månaden",
|
||||
"analytics_insights_caption:one": "Senaste {1} hela månaden · {2}",
|
||||
"analytics_insights_caption:other": "Senaste {1} hela månaderna · {2}",
|
||||
"analytics_insights_categories": "Kategorier per månad",
|
||||
"analytics_insights_change_down": "−{1}",
|
||||
"analytics_insights_change_up": "+{1}",
|
||||
"analytics_insights_forecast": "Prognos",
|
||||
"analytics_insights_forecast_caption:one": "Återkommande utgifter som förfaller, plus snittet av övriga utgifter den senaste {1} månaden",
|
||||
"analytics_insights_forecast_caption:other": "Återkommande utgifter som förfaller, plus snittet av övriga utgifter de senaste {1} månaderna",
|
||||
"analytics_insights_forecast_month_spoken": "{1}: {2}, återkommande {3}, snitt {4}",
|
||||
"analytics_insights_forecast_none": "Inga återkommande utgifter och inga utgifter på sistone",
|
||||
"analytics_insights_forecast_parts": "Återkommande {1} + snitt {2}",
|
||||
"analytics_insights_loading": "Hämtar insikter",
|
||||
"analytics_insights_no_spending:one": "Inga utgifter den senaste {1} hela månaden",
|
||||
"analytics_insights_no_spending:other": "Inga utgifter de senaste {1} hela månaderna",
|
||||
"analytics_insights_offline_body": "Insikterna räknas fram på servern. Anslut till internet för att se dem.",
|
||||
"analytics_insights_so_far": "Hittills i {1}: {2}",
|
||||
"analytics_insights_title": "Insikter",
|
||||
"analytics_insights_trend": "Utgifter per månad",
|
||||
"analytics_measure": "Mått",
|
||||
"analytics_measure_household": "Hushållet",
|
||||
"analytics_measure_my_share": "Min del",
|
||||
@@ -564,6 +583,8 @@
|
||||
"update_downloading_spoken": "Laddar ner version {1}",
|
||||
"update_failed": "Nedladdningen misslyckades. Försök igen.",
|
||||
"update_install": "Uppdatera",
|
||||
"update_install_blocked": "Installationen blockerades av telefonens säkerhetsinställningar (Auto Blocker eller Installera okända appar). Ändra inställningen och försök igen.",
|
||||
"update_install_failed": "Kunde inte installera uppdateringen",
|
||||
"update_later": "Senare",
|
||||
"update_permission_body": "Kvitt uppdateras direkt från er server, inte från Play Butik. Därför frågar Android en gång om Kvitt får Installera okända appar. Slå på Tillåt från den här källan och gå sedan tillbaka till Kvitt. Uppdateringen fortsätter av sig själv.",
|
||||
"update_permission_title": "Tillåt installation",
|
||||
|
||||
Reference in New Issue
Block a user