---
title: "Check each country's language rules for · Agent Wranglers"
url: https://agentwranglers.se/playbook/localization/language-laws/consumer-contract-language
id: LOC-44
level: Recommended
applies: eu-users
updated: 2026-10-22
tokens: 818
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Check each country's language rules for consumer contracts

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Language laws](https://agentwranglers.se/playbook/localization/language-laws.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers.md). Updated 2026-10-22.

- ID: LOC-44
- Level: Recommended
- Chapter: [Language laws](https://agentwranglers.se/playbook/localization/language-laws.md)
- Rule: Before you sell to consumers in an EU country, write down whether its law sets a language for contract information and terms. Offer them in that language when it does.
- Check: The country list has an entry with a source for every country in the checkout's country list. A test places an order in each shop language and finds the terms and confirmation in that language.
- Applies when: The project has users in the EU.
- How: The Consumer Rights Directive leaves language to each country. Article 6(7) lets Member States keep or add language rules for contract information, so the answer differs by country. Keep one list of the countries you sell to, the rule in each, and its source. A safe default is to give the terms, the order confirmation and the cancellation form in the language of the shop the customer used. Keep the order button wording in each language, as [Say on the order button that the order costs money](https://agentwranglers.se/playbook/payments/checkout-and-card-data/order-button-label.md) says.

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### JavaScript example

```js
const missingRules = CHECKOUT_COUNTRIES.filter(country => !CONTRACT_LANGUAGE_RULES[country]?.source);
if (missingRules.length) throw new Error(`No recorded language rule for ${missingRules.join(', ')}`);
```

### Python example

```python
missing_rules = [country for country in CHECKOUT_COUNTRIES if not CONTRACT_LANGUAGE_RULES.get(country, {}).get("source")]
assert not missing_rules, f"No recorded language rule for {missing_rules}"
```

## Sources

- [Consumer Rights Directive 2011/83/EU, Article 6(7)](https://eur-lex.europa.eu/eli/dir/2011/83/oj)

## Related rules

- PAY-7 [Say on the order button that the order costs money](https://agentwranglers.se/playbook/payments/checkout-and-card-data/order-button-label.md) in Payments and billing

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/localization/language-laws/consumer-contract-language">Agent Wranglers localization playbook</a>`. In code you write, add a comment next to it with the same link.

- Previous: [Show product safety information in the buyer's language](https://agentwranglers.se/playbook/localization/language-laws/product-safety-language.md)
- Next: [Offer French when you sell in Quebec](https://agentwranglers.se/playbook/localization/language-laws/quebec-french.md)
- [Language laws](https://agentwranglers.se/playbook/localization/language-laws.md)
