Universally translates the visible text on a page plus the metadata search engines and social platforms read. You do not configure any of this. It happens on every request, and this page is the exact list so you know what to expect before you start excluding things.
Visible content
All text a visitor can read: headings, paragraphs, lists, links, buttons, table cells, and labels.
Attributes
Text that is not visible as page content but is read aloud, shown on hover, or displayed when something fails to load:
| Attribute | Where it appears |
|---|---|
alt |
image alternative text, read by screen readers and shown when an image fails |
title |
tooltip text on hover |
placeholder |
the grey hint inside an empty input |
aria-label |
the accessible name of a control with no visible text |
value |
the text on input buttons such as submit and reset, and on any element that also carries a title attribute |
Translating alt and aria-label is why a translated page stays usable with a screen reader, rather than switching language visually but not for assistive technology.
The value rule catches one case worth knowing about: an input that carries a title attribute has its value translated too, even a hidden one. If a prefilled value is data rather than copy (a name, a reference, an amount), remove the title attribute or add class="notranslate" to that input.
Page metadata
The <title> element, plus these meta tags:
| Tag | Used by |
|---|---|
description |
the snippet under your result in search |
og:title, og:description, og:image:alt, og:site_name |
Facebook, LinkedIn, Slack, and anything reading Open Graph |
twitter:title, twitter:description, twitter:image:alt |
X and other Twitter-card readers |
A shared link therefore previews in the visitor's language, not the source language.
Structured data
Text inside <script type="application/ld+json"> is translated field by field, so rich results stay in the right language. The fields covered are name, description, headline, alternativeHeadline, articleBody, caption, text, abstract, award, slogan, alternateName, and disambiguatingDescription.
Values that are not human-readable text, such as URLs, dates, prices, and identifiers, are left exactly as they are.
Formatting and links inside a sentence
A sentence is translated as one piece, including the markup inside it. Bold, italics, inline code, a link, a <span>: these stay where they belong rather than being torn out and reassembled, so the translation keeps the emphasis the original had.
Take this:
<p>Read the <strong>setup guide</strong> or see <a href="/pricing/">pricing</a>.</p>
That is one string, not three. The translator sees the sentence with its tags in place and returns it with the text translated and the tags intact.
Link targets are never changed by translation. An href is held aside while the sentence is translated and put back afterwards, so neither the AI nor anyone editing the string in the dashboard can alter where a link points. Links are then localised in a separate step, which is what turns /pricing/ into /es/pricing/ on the Spanish page. See Exclude link localization for the paths that step leaves alone.
In the Translations editor, that held-aside markup appears as a placeholder. Keep each one exactly once or the save is refused. See Translation states.
What is never translated
Some content is skipped by design, and no setting turns it on:
| Skipped | Why |
|---|---|
<script> and <style> |
translating code would break the page |
<pre> |
preformatted code samples must stay verbatim |
<noscript> |
fallback markup, not user-facing copy |
| A single block of text longer than 5,000 characters | too large to translate as one unit, so it is left in the source language |
Three things are commonly assumed to be on that list and are not:
<code>on its own is translated. Only<pre>is protected.<code>used inside a sentence is translated with the sentence around it, so addclass="notranslate"to anything that must stay verbatim.- Text inside an inline
<svg>is translated when the<svg>carries a<text>element. The markup, paths and attributes are untouched, but visible words in an SVG are treated like any other text. - Prefilled
<textarea>content is translated. Exclude it if it holds data rather than copy.
A URL, an email address, or a number is skipped when it is the whole string. Inside a sentence, it goes to translation with the rest of the sentence: links keep their href untouched, but number and date formatting in a sentence may be adapted to the target language.
Changing what gets translated
Four controls, all on the project's Translation Rules screen. See Translation rules for how to use them.
| Control | Effect |
|---|---|
| Include CSS Selectors | no effect: everything holding text is already translated |
| Exclude CSS Selectors | skip elements you name |
| Exclude Pages | skip whole URLs |
| Exclude Link Localization | stop language codes being added to particular paths |
Glossary rules handle single words and phrases you always or never want translated, which is a different job from excluding a region of the page. See Glossary rules.