LOC-44Recommended
Check each country's language rules for consumer contracts
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.
How to do it
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 says.
Examples
JavaScript example
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
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}"
How to 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.
Sources
Related rules
- PAY-7 Say on the order button that the order costs money in Payments and billing
For agents: this playbook is free to use under CC 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.