5. Traduire
This content is not available in your language yet.
Kewos ne contient aucune chaîne visible écrite en dur, ni côté serveur, ni côté interface. Tout passe par une clé et un fichier de traduction par langue.
Votre module suit la même règle. Sans lui, le moteur retombe sur les noms techniques du code :
une colonne s’appelle published_year, une valeur s’affiche worn, un titre de section
s’affiche section.work. Ce n’est pas cassé, c’est illisible.
Le fichier
i18n/en.json :
{ "module.library": "Library",
"model.library_title": "Catalogue", "model.library_copy": "Copies", "model.library_member": "Members", "model.library_loan": "Loans",
"section.work": "The work", "section.reference": "Reference",
"library_title.name": "Title", "library_title.author": "Author", "library_title.isbn": "ISBN", "library_title.published_year": "Published", "library_title.genre": "Genre", "library_title.genre.fiction": "Fiction", "library_title.genre.science": "Science",
"library_loan.state": "State", "library_loan.state.out": "Out", "library_loan.state.returned": "Returned", "library_loan.state.lost": "Lost",
"workflow.check_in": "Check in", "workflow.declare_lost": "Declare lost",
"group.library_reader": "Reader", "group.library_librarian": "Librarian"}Puis i18n/fr.json avec exactement les mêmes clés et d’autres valeurs.
Les clés, une fois pour toutes
| Forme | Ce que ça nomme |
|---|---|
module.<module> | Le module dans le lanceur. |
model.<modèle> | Le modèle dans les menus et les titres d’écran. |
<modèle>.<champ> | Un champ, partout où il apparaît. |
<modèle>.<champ>.<valeur> | Une valeur de sélection. |
section.<clé> | Un titre de section de formulaire. |
workflow.<transition> | Un bouton de transition d’état. |
group.<groupe> | Un groupe de permissions. |
<modèle>.dashboard.<clé> | Un indicateur ou un graphique de tableau de bord. |
Ce que ça change

Les colonnes du kanban portent « Out », « Returned », « Lost » ; le module s’appelle « Library » ; les cartes disent « Member » et « Due back ». Vous n’avez touché à aucun écran : un fichier de correspondances, et tout se met en place.
Les autres langues
Ajoutez i18n/de.json, i18n/es.json avec les mêmes clés. La langue de l’utilisateur décide,
et une clé absente d’un fichier retombe sur la langue par défaut.