Configuration
La configuration se place dans un fichier hermes.config.js à la racine du projet. Il est lu par la CLI et par Hermes.init(). Toutes les options sont facultatives.
export default {
localesDir: 'locales',
buildDir: './.hermes',
checkTranslations: true,
keys: 'flat',
sourceLocale: null,
completeLocales: null,
fallbackChains: {
'en-GB': ['en-US', 'fr'],
'es-419': ['es-ES'],
default: ['en-US', 'en-GB'],
},
};
Options
localesDir(défaut :'locales') : dossier des fichiers de traduction.buildDir(défaut :'./.hermes') : dossier où le build écrittranslations.json, et oùinit()le lit.checkTranslations(défaut :true) : vérifie les traductions manquantes ou vides pendant le build.keys(défaut :'flat') : format des clés pour les fichiers imbriqués, voir ci-dessous.sourceLocale(défaut :null) : langue dans laquelle tout est rédigé. Active le suivi des traductions.completeLocales(défaut :null, soit toutes les langues) : langues censées contenir toutes les clés.fallbackChains: langues de repli, voir ci-dessous.
Format des clés
L'option keys choisit les séparateurs utilisés quand une langue est répartie dans des dossiers.
flat: des points partout.path: une barre oblique entre les dossiers, un point à l'intérieur d'un fichier.namespaced: une barre oblique entre les dossiers, deux-points entre le fichier et la clé.
Avec ce fichier :
locales/
en-US/
nested/
nested2.json -> { "key": "hello" }
la clé devient :
flat:nested.nested2.keypath:nested/nested2.keynamespaced:nested/nested2:key
Langues de repli
fallbackChains associe à une langue la liste des langues où chercher une clé qui lui manque, dans l'ordre. Le build complète chaque langue ainsi. La chaîne default sert aux langues sans chaîne propre, et sa première langue est la langue par défaut de Hermes.init().
Sans configuration, Hermes utilise ces chaînes :
{
da: ['sv-SE', 'no'],
'en-GB': ['en-US'],
'en-US': ['en-GB'],
'es-ES': ['es-419'],
'es-419': ['es-ES'],
it: ['es-ES'],
nl: ['en-US', 'en-GB', 'de'],
no: ['sv-SE', 'da'],
fi: ['sv-SE'],
'sv-SE': ['no', 'da'],
'zh-CN': ['zh-TW'],
'zh-TW': ['zh-CN'],
default: ['en-US', 'en-GB'],
}
Langues prises en charge
Hermes utilise les codes de langue de Discord : id, da, de, en-GB, en-US, es-ES, es-419, fr, hr, it, lt, hu, nl, no, pl, pt-BR, ro, fi, sv-SE, vi, tr, cs, el, bg, ru, uk, hi, th, zh-CN, ja, zh-TW, ko.