Installation
Installer le paquet
npm install @fca.gg/hermes
Organiser les traductions
Créez un dossier locales à la racine du projet, avec un fichier par langue. Le nom du fichier est le code de la langue (fr, en-US, de…).
locales/
en-US.json
fr.json
de.json
Chaque fichier contient un objet de clés et de valeurs. Les objets imbriqués sont permis :
locales/en-US.json
{
"hello": "Hello World!",
// Les commentaires sont acceptés : Hermes lit le JSON5
"nested": {
"key": "This is a nested key"
}
}
Hermes lit le JSON5 dans tous les fichiers .json. Pour rester lisible, préférez l'extension .json5 quand vous utilisez sa syntaxe (commentaires, virgules finales…).
Vous pouvez aussi répartir une langue dans un dossier, voir les fichiers imbriqués.
Construire les traductions
Le build est obligatoire avant de lancer l'application : Hermes.init() lit le fichier qu'il produit.
npx hermes build
Ajoutez-le à vos scripts pour ne pas l'oublier :
package.json
{
"scripts": {
"build:i18n": "hermes build"
}
}
Le build :
- parcourt le dossier des traductions (
./localespar défaut) ; - fusionne les fichiers imbriqués en objets à plat ;
- complète les traductions manquantes avec les langues de repli ;
- vérifie les traductions manquantes ou vides, si
checkTranslationsest activé ; - écrit un seul fichier,
.hermes/translations.json, qui contient toutes les langues.
.hermes/translations.json
{
"en-US": {"key1": "value1", "nested.key2": "value2"},
"fr": {"key1": "valeur1", "nested.key2": "valeur2"}
}
Pour changer les dossiers ou le comportement du build, voir la configuration.