Flash of untranslated text
On this page
Why it happens#
The script tag translates the page after the browser has drawn it. This is by design. The loader never blocks rendering, so a slow or failing translation can never hold your page back.
On a script-only site, a visitor can therefore see your original text for a moment, and then the translated text. If the translated text is longer, the page can shift.
How big is the shift?#
In a test on one sample page, text of the same length caused no shift. When every paragraph was 20 percent longer, the layout shift score was 0.076. The usual "good" limit is 0.1. That is one test page, not a promise for your site. Measure your own pages.
What reduces it#
- Use an install path that translates before the page is sent. WordPress with language addresses, Shopify, and the framework kits write translated text into the page. The loader sees that the page is already translated and does nothing. See Install.
- Leave room for longer text. Set minimum heights on headings and buttons, and let text wrap.
- Keep the script early. Put the
asynctag in the head, not at the end of the body. - Return visitors load the translation files from their browser's saved copy, which is quicker.
Hiding the page until it is ready#
An optional setting that hides the page until the translation is applied was approved by the owner on 2026-10-28 as an opt-in, off by default, but it is not built yet: OPEN. It would change the script tag, which has a fixed list of attributes, and it can make the page blank if something fails.
What not to do#
Do not write your own code that hides the page. If the script fails, the page would stay hidden. Always keep the original text visible as the fallback.