Deeman 5662a7dce3 feat(planner): currency formatting by country (UK=£, US=$, EU=€)
Planner now renders currency symbol and thousands-separator style based
on the selected country:
  UK → £450,000  (pound, comma thousands)
  US → $450,000  (dollar, comma thousands)
  EU + SE → €450.000  (euro, dot thousands — unchanged)

Implementation:
- COUNTRY_CURRENCY mapping + CURRENCY_DEFAULT added to calculator.py;
  5 info-string annotations updated to use derived sym variable
- _fmt_currency, _fmt_k, _fmt_n Jinja2 filters now read g.currency_sym
  and g.currency_eu_style (safe EUR fallback via getattr)
- planner index + calculate routes set g.currency_* and pass
  currency_sym to template context before render
- 16 slider label locale keys updated: (€) → ({currency}) in both
  en.json and de.json; slider macro applies tformat(currency=…)
- businessplan.py: _fmt_eur renamed to _fmt_cur(n, sym, eu_style);
  get_plan_sections derives currency from state and binds a fmt lambda;
  capex/opex items gain formatted_amount field
- plan.html: inline € replaced with {{ item.formatted_amount }}

1017 tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 01:51:46 +01:00
2026-02-11 22:52:06 +01:00
2026-02-19 19:16:23 +01:00
Description
No description provided
32 MiB
Languages
HTML 46.4%
Python 43.3%
JavaScript 4.6%
Jinja 2.3%
CSS 2.2%
Other 1.2%