Localization 如何使用next18 next翻译yup错误?

Localization 如何使用next18 next翻译yup错误?,localization,internationalization,next.js,yup,Localization,Internationalization,Next.js,Yup,既然应该在服务器端渲染,我如何使用next18 next来翻译yup错误 是否可以在next18 next翻译字符串中使用占位符?解决这个问题非常简单 validate.ts: export const setValidationTranslations=(t:t函数)=>{ 所需常数=t(“所需”); 常量minString=t(“最小字符串”); 常量maxString=t(“最大字符串”); const emailValid=t(“电子邮件有效”); 常数minNumber=t(“最小值”

既然应该在服务器端渲染,我如何使用next18 next来翻译yup错误


是否可以在next18 next翻译字符串中使用占位符?

解决这个问题非常简单

validate.ts:

export const setValidationTranslations=(t:t函数)=>{
所需常数=t(“所需”);
常量minString=t(“最小字符串”);
常量maxString=t(“最大字符串”);
const emailValid=t(“电子邮件有效”);
常数minNumber=t(“最小值”);
常数maxNumber=t(“最大值”);
设置区域设置({
混合:{
必选:必选,
},
字符串:{
敏:敏春,
max:maxString,
电子邮件:emailValid,
},
编号:{
敏:明纳伯,
max:maxNumber,
},
});
};
导出常量模式=()=>{
返回对象().shape({
电子邮件:string().email().required(),
密码:string().required().min(6),
});
};
Page.tsx:

导入{
setValidationTranslations,
模式,
}来自“/validate”;
功能页(){
const{t}=usetransformation(“common”);
setValidationTranslations(t);
...
}
带有默认yup文本的common.json:

{
“必需”:“${path}是必填字段”,
“email_valid”:“${path}必须是有效的电子邮件”,
“min_字符串”:“${path}必须至少为${min}个字符”,
“max_string”:“${path}最多只能包含${max}个字符”,
“最小值”:“${path}必须大于或等于${min}”,
“max_number”:“${path}必须小于或等于${max}”
}