mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-01 11:18:24 +02:00
* feat: add eslint plugin * refactor * add tests * fixups! * fix(no-dynamic-i18n-messages): make translate() recognize template literals * refactor: rename rule no-dynamic-i18n-messages --> string-literal-i18n-messages * feat: add ignoreStrings option and refactor * docs: migrate docs to /docs/api/plugins * docs: fix anchor links in README.md * fix: add some ignored strings * docs: update eslint-plugin docs * fix: update README link * docs: various updates - Reorder sidebar entries - Fix title size - Use Markdown file paths - Simplify relative links * address reviews * wording polish * add npmignore * fix all internal warnings * doc improvements * fix test Co-authored-by: Joshua Chen <sidachen2003@gmail.com>
1.5 KiB
1.5 KiB
slug |
---|
/api/misc/@docusaurus/eslint-plugin/string-literal-i18n-messages |
string-literal-i18n-messages
Enforce translate APIs to be called on plain text labels.
Docusaurus offers the docusaurus write-translations
API, which statically extracts the text labels marked as translatable. Dynamic values used in <Translate>
or translate()
calls will fail to be extracted. This rule will ensure that all translate calls are statically extractable.
Rule Details
Examples of incorrect code for this rule:
const text = 'Some text to be translated'
// Invalid <Translate> child
<Translate>{text}</Translate>
// Invalid message attribute
translate({message: text})
Examples of correct code for this rule:
// Valid <Translate> child
<Translate>Some text to be translated</Translate>
// Valid message attribute
translate({message: 'Some text to be translated'})
// Valid <Translate> child using values object as prop
<Translate values={{firstName: 'Sébastien'}}>
{'Welcome, {firstName}! How are you?'}
</Translate>
// Valid message attribute using values object as second argument
translate({message: 'The logo of site {siteName}'}, {siteName: 'Docusaurus'})
When Not To Use It
If you're not using the i18n feature, you can disable this rule.