Your storefront needs to serve customers in different countries, currencies, and languages, often from a single codebase. Laioutr handles this with two concepts: markets and languages.
A market represents a region you sell in. Each market has:
www.shop.ch = German, www.shop.ch/fr = French)You create and manage markets in Cockpit → Markets. A single market can cover one country or span an entire continent.
A language is identified by a BCP 47 code (e.g. de, de-CH, fr-FR). Each language can define fallbacks: for example, de-CH (Swiss German) can fall back to de (German), so you only translate what actually differs.
You manage languages in Cockpit → Translations.
The combination of market and language is the context a customer browses in. When someone visits your storefront, Laioutr resolves the market and language from the request's host and path. Everything downstream (currency, measurement system, content, available pages) follows from this context.
Data Model
Data in Laioutr is organized into normalized entities. You can think of entities as rows in a database table. Each entity has a unique id and a type. Entities can have components, which are like columns in a database table. Besides that entities can have links to other entities.
Data Flow
Data in Laioutr is organized into normalized entities. Each entity has a unique id and a type.