ddbdc00a3dc3ea766e3aadeba6ea43f801285a5e
Translate the entire public-facing surface of the app to German,
using a hybrid approach: {{ t.key }} for short UI strings and
{% if lang == 'de' %} conditionals for prose blocks/FAQs.
Coverage:
- i18n.py: +300 UI keys, +200 planner JS locale strings, +35
CAPEX/OPEX item name translations; new get_planner_translations()
and get_calc_item_names() helpers
- base.html / _cookie_banner.html: nav, footer, cookie banner,
feedback placeholder; JS toggle text injected via tojson
- public/: landing.html (hero, ROI calc, FAQ, SEO, JSON-LD),
features.html, about.html — all with German meta tags
- planner/: planner.html (wizard, tabs, chart labels, CTAs),
all export templates, scenario_list.html; window.__PADELNOMICS_LOCALE__
injected server-side; planner.js all ~200 strings via tr()
- calculator.py: add lang param, translated CAPEX/OPEX item names,
replace rent name-lookup with local rent_amount variable
- directory/: directory.html, supplier_detail.html, results.html,
enquiry_result.html
- leads/: quote_step_1–9.html, quote_request.html, quote_submitted.html,
quote_verify_sent.html; routes.py flash messages + _get_quote_steps(lang)
- suppliers/: signup flow (step 1–4), signup_success.html,
waitlist.html, waitlist_confirmed.html
- content/: markets.html, article_detail.html, market_results.html,
all scenario partials (summary, capex, cashflow, operating, returns)
- 629 tests pass, ruff clean
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
No description provided
Languages
HTML
46.4%
Python
43.3%
JavaScript
4.6%
Jinja
2.3%
CSS
2.2%
Other
1.2%