element-hq / element-hq/element-web
custom_translations_url overrides are not applied (tested against v1.12.26)
- Dominant language
- TypeScript
- Stars
- 13.5k
- Forks
- 2.8k
- PR merge metrics
- PR metrics pending
Description
### Steps to reproduce
1. Deploy Element Web (Docker image vectorim/element-web:latest, resolved to v1.12.26) with a config.json containing:
"custom_translations_url": "translations.json"
2. Serve translations.json at the app's web root with:
{ "Home": { "es": "PRUEBA_TRADUCCION" } }
3. Confirm via the browser Network tab that translations.json is fetched successfully (200/304) with the correct content.
4. Set the UI language to Spanish (es), and reload in a fresh Incognito/Private window (to rule out caching / service worker issues).
5. Observe the "Home" label in the room list header.
Also tried both a relative ("translations.json") and an absolute ("https://.../translations.json") URL for custom_translations_url — same result in both cases. Confirmed config.json is valid JSON via python3 -m json.tool.
### Outcome
Expected: "Home" ("Inicio" in Spanish) should be replaced by "PRUEBA_TRADUCCION" per the override.
Actual: The label remains "Inicio" — the override has no visible effect, even though the translations file is confirmed to load correctly over the network (200/304 in Network tab).
Separately, the new room list filter chips "Unreads", "People", "Rooms", "Mentions" also remain in English even with the app fully localized to Spanish elsewhere — possibly related, possibly a separate i18n gap.
### Operating system
windows 11
### Browser information
chrome, edge
### URL for webapp
Self-hosted Element Web, version v1.12.26 (Docker image vectorim/element-web:latest)
### Application version
v1.12.26
### Homeserver
Synapse (self-hosted)
### Will you send logs?
Yes
Contributor guide
Research direction
Start by tracing how config.json's custom_translations_url is loaded and how the fetched translations.json is applied to the room list label. Reproduce with the supplied Element Web v1.12.26 setup and Spanish locale, then verify that the Home override changes the visible label; investigate the filter-chip localization separately because the report identifies it as possibly unrelated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend, internationalization
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100