如何在Vue-i18n中为空字符串添加规则以消除翻译警告
解决Vue-i18n空字符串key触发警告的问题
你可以通过配置Vue-i18n的missing处理函数解决这个问题,无需修改所有表格的$t调用逻辑,同时保留空表头标签:
方法:自定义缺失key处理逻辑
在初始化Vue-i18n实例时,添加missing选项,当检测到空字符串key时直接返回空值,避免触发警告:
import { createI18n } from 'vue-i18n'; const i18n = createI18n({ locale: 'en', messages: { en: { sector: 'Sector', price: 'Price', forecastTicket: 'Forecast Ticket', forecastSales: 'Forecast Sales', ticketPrice: 'Ticket Price', elasticity: 'Elasticity' // 无需添加空字符串key的配置 } }, // 自定义缺失key的处理函数 missing: (locale, key) => { // 当key为空字符串时,直接返回空 if (key === '') { return ''; } // 其他缺失key的默认处理(可选,比如返回原key或自定义提示) return key; } });
原理说明
Vue-i18n的missing函数会在找不到对应key的翻译时被调用。我们在这里针对空字符串key做特殊处理,直接返回空值,既满足了空表头的需求,又不会触发[intlify] Not found '' key的警告。
之前你尝试添加['']: ''无效,是因为Vue-i18n内部对空字符串key的解析存在特殊逻辑,而通过missing函数拦截是更可靠的解决方案。
内容的提问来源于stack exchange,提问作者Leonardo Gomez
相关产品推荐
相关产品推荐

