Reactjs 在react i18next的t()中指定key:value
目前,我的UI字符串用Reactjs 在react i18next的t()中指定key:value,reactjs,react-i18next,Reactjs,React I18next,目前,我的UI字符串用{t('It's a bright cold day in April')}包装,但这导致我的字符串被提取到我的en.json文件中,如下所示: 'It was a bright cold day in April':'It was a bright cold day in April' 有没有办法指定字符串键而不是将字符串文字作为键:例如: 'bright_cold_day':'It was a bright cold day in April' 我正在使用i18ne
{t('It's a bright cold day in April')}
包装,但这导致我的字符串被提取到我的en.json文件中,如下所示:
'It was a bright cold day in April':'It was a bright cold day in April'
有没有办法指定字符串键而不是将字符串文字作为键:例如:
'bright_cold_day':'It was a bright cold day in April'
我正在使用i18next-parser.config文件中的配置提取内容:
module.exports = {
defaultNamespace: 'my-app',
indentation: 2,
keySeparator: false,
lexers: {
ts: ['JavascriptLexer'],
tsx: ['JsxLexer'],
default: ['JavascriptLexer'],
},
lineEnding: 'auto',
locales: ['en'],
namespaceSeparator: false,
output: normalize(`${__dirname}/public/assets/i18n/$LOCALE.json`),
sort: true,
useKeysAsDefaultValue: false,
};```
当然有,但我想你是在json自动生成的背景下问的。您能告诉我们它是什么吗?我正在使用i18next-parser.config文件中的配置提取内容:const{normalize}=require('path');module.exports={defaultNamespace:'my app',缩进:2,keysepator:false,lexers:{ts:['JavascriptLexer'],tsx:['JsxLexer'],默认:['JavascriptLexer'],},lineend:'auto',locales:['en'],namespacesparator:false,输出:normalize(
${dirname}/public/assets/i18n/$LOCALE.json
),sort:true,UseKeyAsDefaultValue:false,};粘贴到这里的注释中的代码不可读,很抱歉,但是idk这个方法…为了添加更多的上下文,我尝试了{t(“水果”,“橙色”)},这给了我正确的JSON格式。但是,当我将该值更改为“Apple”并再次运行提取脚本时,fruit:Orange键值对不会更新,并且保持不变。