Estimated reading time : 5 min · Published
Identify genuinely equivalent pages
Map URLs by language and the purpose of each page. Missing content may need a relevant alternative, not an artificial translation. Preserve promises and limits that genuinely differ by audience.
Google guidance on localized versions explains alternate signals. Hreflang links should point to real, accessible and coherent pages.
- Page mapping documented.
- Real reciprocal alternates.
- No empty translation to fill a list.
Review meaning, facts and actions
Check prices, dates, units, deadlines, product names and conditions in each language. A correct translation of an old sentence is still wrong information. Ask someone familiar with the context to review specialist terms and promises.
Test buttons, forms, confirmations and associated emails. Language switching should lead to the current page equivalent where one exists; internal links should not always return to the original language. The multilingual guide helps frame the project.
Compare data before formatting with what the reader sees. Intl.NumberFormat adapts presentation to a locale and options; it neither converts currency nor supplies a parser for entered text by itself. A changed decimal separator, grouping space or symbol position does not justify changing the reference amount. Keep the number, currency and intended rounding rule separate.
The test data below are fictional: they are neither commercial prices nor actual deadlines. The civil date 2026-11-05 means 5 November 2026 in the Gregorian calendar without a time zone; do not treat it as an instant to convert. Review values, meaning and local presentation together. Fluent wording can still swap day and month, remove identifier zeros or turn an unknown quantity into zero.
- Facts and conditions checked.
- Actions and messages translated.
- Links stay in the right language.
Scroll the table horizontally to read every column. With a keyboard, focus the table area and use the arrow keys.
| Fictional reference value | What may vary | Invariant to check |
|---|---|---|
| Amount 2900.50 EUR | Separators, symbol position and local presentation. | Same amount and currency, with no implicit conversion. |
| Civil date 2026-11-05 | Element order and month name in the chosen calendar. | 5 November 2026; no time-zone conversion of this date alone. |
| Identifier DEMO-00120 | The explanatory label around it. | The exact string retains its hyphen and zeros. |
| Known quantity: 0 | Wording explaining the absence of items. | Zero remains distinct from an unspecified quantity. |
- MDN : Intl.NumberFormat
Consulted on 22 October 2026; locale-sensitive number formatting without currency conversion.
- HTML Standard : Dates
Consulted on 22 October 2026; a civil date contains year, month and day without time-zone information.
Check layout and media
On phones, check that headings, buttons and cards tolerate longer words. Review reading direction, dates, numbers and special characters for each language. A menu that fits French may overflow in German or Finnish.
Check text embedded in images, captions, alternative text and downloadable documents. A photo may be shared if it represents the same reality, but its caption must suit the language and page.
Distinguish language signals before reviewing a page. In HTML, lang on the html element declares default language; descendants inherit it unless a more specific language applies. A passage genuinely in another language can be marked on its surrounding element. This declaration translates no text and does not fix words left in an earlier language. Also check content outside the main body, including document title and journey messages.
Language and direction are separate checks: lang="ar" identifies Arabic, while dir="rtl" sets right-to-left base direction. Do not infer correct number and identifier ordering from language alone. hreflang signals alternative language versions; it does not replace lang for the current page’s text. Check actual content, declaration, direction and link destinations separately. In a fictional example, a French page declared English remains inconsistent even with alternate links present.
- Length and direction tested.
- Alternatives and captions reviewed.
- Documents suited to the audience.
Scroll the table horizontally to read every column. With a keyboard, focus the table area and use the arrow keys.
| Reference | Purpose | Check |
|---|---|---|
| lang on html | Default document language | Matches text and remains correct in descendants |
| lang on a passage | More specific language of enclosed content | Mark a genuine language change |
| dir="rtl" | Right-to-left base direction | Test text, numbers and identifiers separately |
| hreflang | Link to an alternative language version | Does not translate the page or replace lang |
Repeat checks after each change
Link each translation to its source and review date. A price or service change should trigger review of affected versions even if the template stays the same. Record decisions not to translate.
Before release, open every URL and verify status, title, canonical, alternates and navigation links. Check again after deployment: a route can work locally and fail on the server. The prelaunch guide covers other checks.
Add sequence comparison to review without automatically rewriting URLs or identifiers. é and e followed by U+0301 may look identical while containing different code points. NFC normalisation converts these examples to U+00E9. It does not translate, remove accents or replace an explicit search or comparison policy. Preserve source text where faithful reproduction matters.
Distinguish NFC from NFKC before matching imported content. In the table, compatibility ligature fi remains U+FB01 under NFC but becomes fi under NFKC; ① stays U+2460 under NFC but becomes 1 under NFKC. The forms are not interchangeable for every field. Define affected fields and test duplicates, published links and labels after transformation. Successful normalisation proves neither faithful translation nor a correct link destination.
- Source and date known.
- Metadata and links checked.
- Production check repeated.
Scroll the table horizontally to read every column. With a keyboard, focus the table area and use the arrow keys.
| Input and code points | NFC result | NFKC result |
|---|---|---|
| é · U+00E9 | é · U+00E9 | é · U+00E9 |
| é · U+0065 U+0301 | é · U+00E9 | é · U+00E9 |
| fi · U+FB01 | fi · U+FB01 | fi · U+0066 U+0069 |
| ① · U+2460 | ① · U+2460 | 1 · U+0031 |
Review translated conditions

Proposed case: a translation keeps an old deadline after the French page changes. Fluent wording can convey a different condition.
Compare values, units, links and error states across versions. Keep language, corrected passage and reviewer; a main-text change may also affect forms and documents.
- Compare values and units
- Review messages and linked documents
- Record corrections per language
- Keep identifier order in Arabic
Test an Arabic interface and bidirectional text
Reference documents
- Google guidance on localized versions · Source consulted
- W3C Internationalization : Declaring language in HTML · Source consulted
- WHATWG : HTML lang · Source consulted
- Unicode : UAX #15: Normalization Forms · Source consulted
- TC39 : String.prototype.normalize · Source consulted
Content updated on
Documented reference points for this topic
| Reference | Value or syntax | Scope |
|---|---|---|
| W3C · HTML language | <html lang="fr"> | The default language is declared on html; local language changes are marked. |
| WCAG 2.2 · 1.4.10 | 320 CSS px | Vertical content without two-dimensional scrolling; exceptions cover inherently two-dimensional content. |
| Google Search Central · Multilingual sites | URL · hreflang · links | Provide separate URLs per language and links for choosing an edition. Redirecting on an assumed language can prevent access to a version. Translating only navigation and footer does not translate the main content. |
| W3C Internationalization · HTML direction | lang="ar" dir="rtl" | Language and reading direction are separate information. Declaring ar alone does not establish the base direction; dir="rtl" does. Logical CSS properties adapt spacing without hard-coding left and right throughout the layout. |
Dates indicate when references were consulted. These facts are neither a site audit nor an overall compliance statement.
