2017-01-17 1 views
1

La bibliothèque de traduction i18next semble par défaut se replier sur la clé de traduction si aucune traduction n'a été trouvée pour la clé, par ex.Redéfinir i18next en 'NO TRANSLATION'

// No translation defined for CANCEL yet 
i18next.t('CANCEL') // Returns 'CANCEL' 

Si aucune traduction se trouve la clé, je préférerais fallback à un message distinctif qui le rend évident que nous avons manqué une traduction ou une clé de mal tapé traduction. De préférence, mentionner la clé dans le message, par ex. Une sorte de fonction de rappel de secours serait idéale, car nous pourrions également enregistrer sur console/service à distance toutes les traductions manquantes.

Comment puis-je obtenir quelque chose comme ça en utilisant la bibliothèque i18next?

Répondre

2

Donc il s'avère que i18next accepte un gestionnaire dans les options lors de l'initialisation qui vous permet de définir la valeur des clés manquantes.

i18n.init({ 
    ... 

    saveMissing: true, // Must be set to true 
    parseMissingKeyHandler: (key: string) => { 
     return `No translation found for "${key}"`; 
    } 
}) 
0

Selon le official documentationsaveMissing est pas nécessaire pour parseMissingKeyHandler de travailler. Mon code fonctionne bien sans cela.