Aller au contenu principal
Version : Canary 🚧

string-literal-i18n-messages

Force les API de traduction à être appelées sur les libellés en texte brut.

Docusaurus propose l'API docusaurus write-translations, qui extrait statiquement les libellés de texte marqués comme traduisibles. Les valeurs dynamiques utilisées dans <Translate> ou dans les appels à translate() ne seront pas extraites. Cette règle garantit que tous les appels de traduction sont extractibles de manière statique.

Détails de la règle

Exemples de code incorrect pour cette règle :

const text = 'Some text to be translated'

// Enfant de <Translate> non valide
<Translate>{text}</Translate>

// Attribut message non valide
translate({message: text})

Exemples de code correct pour cette règle :

// Enfant de <Translate> valide
<Translate>Some text to be translated</Translate>

// Attribut message valide
translate({message: 'Some text to be translated'})

// Enfant de <Translate> valide utilisant les valeur de l'objet comme prop
<Translate values={{firstName: 'Sébastien'}}>
{'Welcome, {firstName}! How are you?'}
</Translate>

// Attribut message valide utilisant les valeurs de l'objet comme second argument
translate({message: 'The logo of site {siteName}'}, {siteName: 'Docusaurus'})

Quand ne faut-il pas l'utiliser ?

Si vous n'utilisez pas la fonctionnalité i18n, vous pouvez désactiver cette règle.

Complément d'information