跳到主要内容
版本:Canary 🚧

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.

延伸阅读