# Multilingual cookie banner: languages, detection and translations

> How to show a cookie banner in the visitor's language: page or browser language, what to translate, keeping the meaning equal across languages, and testing.

Source: https://cookiequiet.com/guides/multilingual-cookie-banner
Published: 2026-10-21
Publisher: Cookiequiet

## Steps

1. **List the languages you need** Use your analytics to find the countries and browser languages of your visitors, starting with regions that require opt-in consent.
2. **Choose the detection method** Follow the page language on sites with translated pages, the browser language on single-language sites, or add a language switcher in the banner.
3. **Translate every string** Translate the first layer, buttons, preferences panel, category descriptions, cookie table purposes, placeholders and the linked policies.
4. **Check button parity** In each language, confirm that Reject all remains a clear refusal with the same size and weight as Accept all.
5. **Set the lang attribute** Give the banner container the lang of the text shown, so screen readers pronounce it correctly.
6. **Test on phones** Open the banner in each language at phone width and check that longer labels do not break the layout or hide a button.
7. **Record the language** Make sure the consent log stores the language and banner version with each choice.

A cookie banner should speak the language the visitor reads the site in. Consent under the GDPR must be informed and requested in clear and plain language, and a banner in a language the visitor does not understand informs nobody. In practice, match the page language on sites with translated pages, fall back on the browser's preferred languages elsewhere, translate every string including the preferences panel and the cookie table, and keep the buttons equal in every language, because a translation can quietly turn "Reject all" into something weaker.

## Why does language matter legally?

Article 7(2) of the [GDPR](/laws/gdpr) requires a request for consent to be presented in an intelligible and easily accessible form, using clear and plain language, and article 12(1) applies the same standard to all information given to people. The EDPB's consent guidelines say the information must be understandable for an average person, not only for lawyers. A visitor in Lisbon reading an English-only banner on a Portuguese-language shop is not in a position to give informed consent.

## Page language or browser language?

There are three ways to choose the banner language:

| Method | How it works | Best for |
|---|---|---|
| Page language | Read the `lang` attribute of the page or the language segment of the URL | Sites with translated pages (/fr/, /de/) |
| Browser language | Read `navigator.languages` or the `Accept-Language` header | Sites in one language with an international audience, or apps |
| Visitor choice | A language switcher inside the banner | Mixed audiences, border regions |

MDN describes `navigator.languages` as the visitor's preferred languages in order of preference, generally matching the `Accept-Language` header. It also notes that Safari, and Chrome in incognito mode, may expose only one language to reduce fingerprinting, so browser detection is a best guess.

On a site with translated pages, page language is the safer default: the visitor chose that version, and the banner should match the content around it. On a single-language site, showing the banner in the visitor's browser language helps them understand the choice, even if the rest of the page is in another language.

## What has to be translated?

Everything a visitor reads before or while choosing:

- the first layer: title, text, button labels;
- the preferences panel: category names and descriptions, toggle labels, the Save button;
- the cookie table: purpose and duration descriptions (cookie names stay as they are);
- the US opt-out notice and the "Do Not Sell or Share" link, if you show them;
- embed placeholders ("This video is hosted by YouTube...");
- the cookie policy and privacy policy the banner links to.

The cookie policy is easy to forget. A banner in Spanish that links to an English-only policy leaves the details untranslated.

## How do you keep the meaning equal?

Translations drift. Three checks for each language:

1. **Button parity.** "Reject all" must stay a clear refusal of equal weight: "Tout refuser", "Alle ablehnen", "Rechazar todo", "Rifiuta tutto". Watch for translations that soften it into "Continue without" or "Settings".
2. **Length.** German and Finnish labels are often longer than English. Check that both buttons still have the same size and that nothing wraps into an uneven layout, especially on phones.
3. **Purposes.** Translate the purposes, not just the word "cookies". "Mesure d'audience" or "Reichweitenmessung" for analytics, "publicité" or "Werbung" for marketing, so the visitor knows what they accept.

Use a native speaker or a professional translation for the main languages. Machine translation is a reasonable first draft, but legal wording is where it makes mistakes.

## Accessibility and the lang attribute

If the banner's language differs from the page's, set the `lang` attribute on the banner's container so screen readers switch pronunciation. WCAG 2.2 success criterion 3.1.2, Language of Parts, asks that the language of each passage can be determined by software. The [accessible cookie banner guide](/guides/accessible-cookie-banner) covers focus, contrast and keyboard use.

## What about the consent record?

Record the language the banner was shown in with each choice. If a visitor claims they did not understand the request, the log shows the text and language they saw, together with the banner version. Keep previous versions of each translation when you change them.

## Which languages do you need?

Start from where your visitors are, not from a list of all languages. Your analytics shows the countries and browser languages that send traffic; cover the languages of the countries where you need opt-in consent first. For the EU, the [cookie banner requirements by country](/guides/cookie-banner-requirements-by-country) show which regions need the full banner.

## Ready-made translations

Most consent tools ship translations. Cookiequiet's banner comes in 24 languages (English, French, German, Spanish, Italian, Portuguese, Dutch, Polish, Swedish, Danish, Norwegian Bokmål, Finnish, Czech, Slovak, Hungarian, Romanian, Greek, Bulgarian, Croatian, Slovenian, Estonian, Latvian, Lithuanian and Turkish), picked from the visitor's browser languages, with every string editable per language. It follows the browser rather than the page, so on a site with translated pages, check that the result suits your audience. Setup is one script tag before your other scripts, with Reject all on by default; the [text examples guide](/guides/cookie-banner-text-examples) has wording to start from.

## Questions

### Is an English-only cookie banner valid in the EU?

It is risky. Consent must be informed and requested in clear and plain language, and a visitor who does not read English cannot be informed by an English banner. Show the banner in the language of the page or of the visitor.

### Should the banner follow the page language or the browser language?

On a site with translated pages, the page language is usually best because the visitor chose that version. On a single-language site with an international audience, the browser language helps visitors understand the choice.

### Can I use machine translation for the banner?

As a first draft, yes. Have a native speaker review the main languages, because legal terms and button labels are where machine translation tends to weaken or change the meaning.

### Do I need to translate the cookie policy too?

Yes, ideally. The banner links to the policy for details, and those details are part of the information the visitor relies on to decide. A translated banner with an untranslated policy is only half informed.

## Sources

- [Regulation (EU) 2016/679 (GDPR), articles 7(2) and 12(1)](https://eur-lex.europa.eu/eli/reg/2016/679/oj)
- [EDPB, Guidelines 05/2020 on consent under Regulation 2016/679](https://www.edpb.europa.eu/our-work-tools/our-documents/guidelines/guidelines-052020-consent-under-regulation-2016679_en)
- [MDN Web Docs, Navigator: languages property](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/languages)
- [W3C, Web Content Accessibility Guidelines (WCAG) 2.2, success criterion 3.1.2 Language of Parts](https://www.w3.org/TR/WCAG22/)
