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.