Localisation
The integration now follows your Home Assistant locale (`hass.locale.language`) and shows all user-facing strings in English, German, or Dutch. Anything else falls back to English.
What's localised
- Setup wizard / config flow — title, description, field labels, errors and abort messages
- Entity names — all sensors, the battery-capacity number, service-due date/km entities, maintenance overview
- Lovelace card UI — sort dropdown labels, filter labels, button tooltips, stat tile labels, profile chart labels (Elevation/Cadence/Power), Wikipedia & POI popups, status messages, error messages
- Heatmap card UI — same coverage as the main card
- Card editor — height, title, account/bike/radius dropdowns, all hint texts
- Map style names — "Standard" / "Topo" / "Satellite" labels
- Service descriptions — `add_maintenance`, `complete_maintenance`, `remove_maintenance`
Implementation notes
- Python entities use `_attr_translation_key` together with `entity.sensor..name` entries in each translations file
- Card JS holds a compact in-file I18N table; a single `ebT(hass, key, ...)` helper resolves a key against the locale and falls back to English if a key is missing
- `services.yaml` no longer carries German labels — they live under `services.` in the strings/translations JSONs
Changing the language
In Settings → System → General, set the Language to English, German or Dutch. The integration follows the user-level locale, so each HA user sees their preferred translation independently.
Installation
Update via HACS, restart Home Assistant, hard-refresh the browser (Cmd+Shift+R / Ctrl+Shift+R) so the new card JS is loaded.