string-literal-i18n-messages
确保翻译 API 只用于纯文本标签。
Docusaurus offers the docusaurus write-translations
API, which statically extracts the text labels marked as translatable. <Translate>
或 translate()
调用中的动态值将无法被提取。 这条规则确保了所有的翻译调用都可被静态提取。
规则详情
此规则的错误代码示例:
const text = '需要翻译的文本'
// 无效 <Translate> child
<Translate>{text}</Translate>
// 无效 message 属性
translate({message: text})
此规则的正确代码示例:
// 有效 <Translate> child
<Translate>需要翻译的文本</Translate>
// 有效 message 属性
translate({message: '需要翻译的文本'})
// 有效 <Translate> child,使用了一个 values 对象作为属性
<Translate values={{firstName: '思达'}}>
{'你好,{firstName}! 你好吗?'}
</Translate>
// 有效 message 属性,使用了一个 values object 作为第二个参数
translate({message: '{siteName} 网站图标'}, {siteName: 'Docusaurus'})
何时不使用它
If you're not using the i18n feature, you can disable this rule.