Localisation strings missing: symptoms, cause, and the test that catches it
A release ships with missing or untranslated strings in one locale.
Localisation strings missing is documented by 2 accepted public reports from 2 organisations, 2 of them published in the last 5 years.
- Likelihood: low (2 public reports in 5 years)
- Impact: low (2 of 2 reports: degraded)
Symptoms
User-visible
- With the interface language set to Russian, room list filter labels such as Unreads, People, Rooms, Sort and Activity appeared in English.[1]
- Empty state messages in the Russian interface also appeared in English.[1]
- Many parts of the desktop mail client interface appeared in English in the pt-PT build, including the OpenPGP Key Manager menu option.[2]
- Radio buttons in the import and export tool of the pt-PT build were untranslated.[2]
- The untranslated pt-PT interface was still present in the 102.0.1 build 2 release candidate.[2]
Monitoring-visible
- The JavaScript console of the pt-PT build showed errors about missing .ftl localisation files.[2]
- The locale comparison check reported an error for the pt-PT localisation.[2]
- The first signal of the untranslated Russian labels was a user report on the public issue tracker.[1]
- A pt-PT user reported the untranslated interface on the bug tracker, and a developer confirmed it by comparing against a fully translated es-MX build.[2]
Root causes
- stage: release-process The Russian translations for the room list strings reached the translation platform only after the release candidate for v1.12.11 was cut, so that release shipped without them.[1]
- stage: release-process .ftl localisation files added for the 102 release, which carried many late string additions, were missing from the pt-PT localisation repository.[2]
- stage: code When one of several .ftl files loaded in a document is unavailable, every string in that document falls back to en-US, so one missing file left whole interface areas in English.[2]
Public examples
- [1]Element, 2026-02-27. Element Web v1.12.11 displayed room list strings such as Unreads and Sort in English for Russian users because the Russian translations were provided after the release candidate was cut, so they missed the release. primary Russian translations missing in Element Web v1.12.11 interface
- [2]Thunderbird, 2022-07-01. The Thunderbird 102 release showed many interface strings in English in the Portuguese (pt-PT) build because Fluent files added for the release were missing from the pt-PT localisation, so whole files fell back to en-US until empty files were added and the l10n changesets were updated for 102.0.2. primary 1777670 - TB 102 LTS - GUI not fully translated
Test classes that catch it
| Test class | Stage | Limitation | Basis |
|---|---|---|---|
| End-to-end tests | pre-deploy | An end-to-end run in the default en-US locale passes, because the fallback text is correct English and the defect shows only with the language set to Russian or pt-PT. | by design analysis |
| Configuration and environment tests | pre-deploy | A comparison of locale files and string keys at the release gate flags the missing file or key, but not the loader rule that turned whole pt-PT documents to en-US when one of their files was missing. | by design analysis |
| Synthetic monitoring | post-deploy | A synthetic script pinned to one locale misses a gap that affects only the Russian room list or only the pt-PT build, since each locale is a segment the script never visits. | by design analysis |
Risk
- Likelihood: low (2 public reports in 5 years)
- Impact: low (2 of 2 reports: degraded)
| Accepted public reports | 2 |
|---|---|
| Published in the last 5 years | 2 |
| Impact stated: degraded | 2 |
Pre-release checklist
- PR-01
- PR-02
- PR-03
- PR-04
- PR-05
- PR-06
- PR-07
First 30 minutes
- FM-01
- FM-02
- FM-03
- FM-04
- FM-05
- FM-06
- FM-07
Download the checklist
What catches this: catalogue entries
Listed because their own documentation or site names end-to-end tests, configuration and environment tests, synthetic monitoring on the verification date. Alphabetical. Not a recommendation.
Tools whose documentation names these test classes
- Appium e2e source verified 2026-10-21
- Applitools Eyes e2e source verified 2026-10-21
- axe-core e2e source verified 2026-10-21
- behave e2e source verified 2026-10-21
- Checkly synthetic source verified 2026-10-21 e2e source verified 2026-10-21
- CodeceptJS e2e source verified 2026-10-21
- Cucumber e2e source verified 2026-10-21
- Cypress e2e source verified 2026-10-21
- Datadog Synthetic Monitoring synthetic source verified 2026-10-21 e2e source verified 2026-10-21
- Detox e2e source verified 2026-10-21
- Espresso e2e source verified 2026-10-21
- Firebase Test Lab e2e source verified 2026-10-21
- Flipt config source verified 2026-10-21
- Grafana Cloud Synthetic Monitoring synthetic source verified 2026-10-21
- Grafana k6 synthetic source verified 2026-10-21
- GrowthBook config source verified 2026-10-21
- Karate e2e source verified 2026-10-21
- Katalon Studio e2e source verified 2026-10-21
- Kobiton e2e source verified 2026-10-21
- LaunchDarkly config source verified 2026-10-21
- Maestro e2e source verified 2026-10-21
- Mocha e2e source verified 2026-10-21
- Nightwatch e2e source verified 2026-10-21
- Pa11y e2e source verified 2026-10-21
- Percy e2e source verified 2026-10-21
- Playwright e2e source verified 2026-10-21
- PostHog config source verified 2026-10-21
- Postman synthetic source verified 2026-10-21
- Puppeteer e2e source verified 2026-10-21
- Robot Framework e2e source verified 2026-10-21
- RSpec e2e source verified 2026-10-21
- Sauce Labs e2e source verified 2026-10-21
- Selenium e2e source verified 2026-10-21
- Serenity BDD e2e source verified 2026-10-21
- TestCafe e2e source verified 2026-10-21
- TestingBot e2e source verified 2026-10-21
- TestMu AI (formerly LambdaTest) e2e source verified 2026-10-21
- Unleash config source verified 2026-10-21
- Uptime Kuma synthetic source verified 2026-10-21
- WebdriverIO e2e source verified 2026-10-21
- XCTest e2e source verified 2026-10-21
Providers whose site names these test classes
- 2i e2e source verified 2026-10-21
- Abstracta e2e source verified 2026-10-21
- andagon people GmbH e2e source verified 2026-10-21
- Appmatics e2e source verified 2026-10-21
- AQA Masters e2e source verified 2026-10-21
- BugRaptors e2e source verified 2026-10-21
- Cleverix e2e source verified 2026-10-21
- Crestech Software Systems e2e source verified 2026-10-21
- Crowdar e2e source verified 2026-10-21
- DeviQA e2e source verified 2026-10-21
- Elinext e2e source verified 2026-10-21
- Exactpro e2e source verified 2026-10-21
- Full Scale e2e source verified 2026-10-21
- Inmetrics e2e source verified 2026-10-21
- Invensis Technologies e2e source verified 2026-10-21
- iScale Solutions e2e source verified 2026-10-21
- Itekako e2e source verified 2026-10-21
- iValuePlus Services e2e source verified 2026-10-21
- Nimble Approach e2e source verified 2026-10-21
- Outpost QA e2e source verified 2026-10-21
- PLATO e2e source verified 2026-10-21
- Polteq e2e source verified 2026-10-21
- Q-Centric GmbH e2e source verified 2026-10-21
- QA Madness e2e source verified 2026-10-21
- QA Mentor e2e source verified 2026-10-21
- QASource e2e source verified 2026-10-21
- QAwerk e2e source verified 2026-10-21
- Quality House e2e source verified 2026-10-21
- Quality Island e2e source verified 2026-10-21
- QualityKiosk Technologies e2e source verified 2026-10-21
- QualityLogic e2e source verified 2026-10-21
- Scalefocus e2e source verified 2026-10-21
- SHIFT ASIA e2e source verified 2026-10-21
- SimplyTest GmbH e2e source verified 2026-10-21
- Sofka Technologies e2e source verified 2026-10-21
- Soflab Technology e2e source verified 2026-10-21
- SQA - Software Quality Assurance S.A. e2e source verified 2026-10-21
- SunTec India e2e source verified 2026-10-21
- T2S Tecnologia e2e source verified 2026-10-21
- TestFort e2e source verified 2026-10-21
- Testhouse e2e source verified 2026-10-21
- Testing IT e2e source verified 2026-10-21
- TestMatick e2e source verified 2026-10-21
- Testrig Technologies e2e source verified 2026-10-21
- Testscenario e2e source verified 2026-10-21
- TestSolutions GmbH e2e source verified 2026-10-21
- THEY.dev e2e source verified 2026-10-21
- tiQtoQ e2e source verified 2026-10-21
- VTEST e2e source verified 2026-10-21
- WebDepend e2e source verified 2026-10-21
- Zoonou e2e source verified 2026-10-21
Only on this page
Localisation strings missing starts at the release-process stage in report [1] and report [2], not in code. In report [1], the Russian translations arrived after the release candidate was cut, so the shipped code was correct and only the timing of the string handoff failed. In report [2], .ftl files added for the release were absent from the pt-PT localisation, and the fix repinned the localisation changesets for the 102.0.2 release.
A code review of either release finds no defect, because the English fallback is valid text. The gap sits between the string freeze, the translation handoff and the release candidate cut.
Related incidents
- Asset cache serves old bundle Users receive an old JavaScript bundle with a new API and the app errors.
- Critical path broken in one browser A core flow fails in one browser or version after a build or polyfill change.
- CSP blocks required script A Content Security Policy change blocks a script the page needs.
- Form submission silently fails A form submits without error but data is never stored after a validation or endpoint change.
- OAuth callback URL not whitelisted A new domain or route is not registered with the identity provider.
Questions
What causes localisation strings missing?
In report [1], Russian translations reached the translation platform after the release candidate was cut. In report [2], .ftl files added for the release were missing from the pt-PT localisation, so whole documents fell back to en-US.
What are the symptoms of localisation strings missing?
Users saw room list labels such as Unreads and Sort in English with Russian selected [1]. In report [2], the pt-PT console showed errors about missing .ftl files.
Why did tests not catch localisation strings missing?
A test run in en-US passes, because the fallback strings are correct English. Both reports were first raised by users of the affected locale on a public tracker [1] [2].
Which test class catches localisation strings missing, and what does it miss?
End-to-end tests, configuration tests and synthetic monitoring carry the by-design label, because neither report names a test class. End-to-end and synthetic runs miss the fault when they run only in the default locale.
What should be checked before a release to prevent localisation strings missing?
Item PR-02 compares the .ftl files loaded in en-US with the files present in each locale. Item PR-03 fails the run on any console error about a missing .ftl file.
Should a team roll back or fix forward when localisation strings missing happens?
In report [2], the fix added the missing files and shipped in the 102.0.2 release. In report [1], the maintainer stated the translations would ship in the next release.
Release Incident Playbook (2026). Localisation strings missing: symptoms, cause, and the test that catches it, content version 1.0.0. https://releasefailures.com/incidents/localisation-strings-missing/. Accessed 2026-10-21.