Aller au contenu principal

Hermes

Hermes est une bibliothèque d'internationalisation (i18n) légère pour les applications Node.js. Nous l'utilisons dans nos bots Discord pour gérer des dizaines de langues sans alourdir le démarrage.

  • Traductions en JSON ou JSON5, réparties dans autant de fichiers et de dossiers que vous voulez.
  • Un build qui fusionne tout en un seul fichier optimisé, applique les langues de repli et vérifie les traductions manquantes.
  • Un formatage simple avec des variables et des expressions : conditions, pluriels, dates, switch.
  • Le suivi des traductions obsolètes : quand un texte source change, chaque langue qui l'avait traduit est signalée.
  • Une CLI (hermes build, check, todo, lock) prête pour l'intégration continue.
  • Les codes de langue de Discord (fr, en-US, pt-BR, zh-TW…), directement utilisables pour les commandes localisées.

Exemple​

locales/fr.json
{
"greeting": "Bonjour, %name% !",
"inbox": "Vous avez %count% %count:plural(message|messages|aucun message)%"
}
npx hermes build
import Hermes from '@fca.gg/hermes';

Hermes.init();

const ctx = Hermes.getContext('fr');
ctx.t('greeting', {name: 'Alice'}); // "Bonjour, Alice !"
ctx.t('inbox', {count: 3}); // "Vous avez 3 messages"

Pour démarrer, suivez l'installation.

Licence​

Hermes est distribué sous licence AGPL v3 : si vous l'utilisez ou l'adaptez, même via un réseau, vous devez partager vos modifications. Le code source est sur GitHub.