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)

2 public reports · verified 2026-10-21

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

  1. 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]
  2. 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]
  3. 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. [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. [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 classStageLimitationBasis
End-to-end testspre-deployAn 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 testspre-deployA 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 monitoringpost-deployA 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)
Counts behind the grades
Accepted public reports2
Published in the last 5 years2
Impact stated: degraded2

How the grades are computed

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

Providers whose site names these test classes

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.

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.