Apparence
Internationalisation
Slab est multilingue et multidevise : traductions de contenu (sur les modèles), langues et devises gérées en base, fichiers de langue par namespace de package.
Par où l'étendre
| Je veux… | Point d'extension | Mécanique |
|---|---|---|
| traduire les libellés de mon package | loadTranslationsFrom(__DIR__.'/../lang', 'mon-pkg') | namespaces de lang |
| rendre mes traductions éditables dans le BO | idem (l'éditeur découvre les namespaces) | — |
| changer la devise d'affichage courante | CurrentCurrencyResolver | résolveurs |
| rendre un modèle multilingue | trait HasTranslations (colonnes JSON) | modèles |
Deux niveaux de traduction
- Contenu (nom de produit, page…) : porté par les modèles via
HasTranslations, stocké en JSON. - Interface (libellés, e-mails…) : fichiers de langue, sous le namespace de chaque package (
framework::,frontend::, le vôtre). L'éditeur de traductions du back-office agrège automatiquement les namespaces déclarés parloadTranslationsFrom.
TIP
Sans loadTranslationsFrom, les traductions de votre package restent invisibles à l'éditeur BO.
Voir aussi
- Les résolveurs — la devise courante.
- Modèles & relations —
HasTranslations.