React本地化动态字符串:如何在带空格的本地化串中插入total值?
解决本地化字符串插入动态total值的问题
这里给你两种可行的实现方式,按需选择:
方案一:修改本地化字符串为占位符(推荐)
这种方式更直观,后续维护也不容易出问题,步骤如下:
- 先把本地化字符串里的空格替换成占位符,比如用
%s:
page_title: `Toplamda %s adet ******* eğitmeni listeleniyor.`,
- 渲染时用
replace方法把占位符替换成实际的total值:
<p className="mt-0 font-bold text-center max-w-lg mx-auto px-5"> {strings.teachers.teachers_list.page_title.replace('%s', total)} </p>
如果你的本地化配置支持函数,还可以更灵活:
// 本地化字符串改成函数形式 page_title: (total) => `Toplamda ${total} adet ******* eğitmeni listeleniyor.`,
渲染时直接调用函数传值:
<p className="mt-0 font-bold text-center max-w-lg mx-auto px-5"> {strings.teachers.teachers_list.page_title(total)} </p>
方案二:不修改本地化字符串,直接替换空格
如果不想改动原本地化配置,可以用正则匹配原字符串里的4个空格,替换成total值加单个空格:
<p className="mt-0 font-bold text-center max-w-lg mx-auto px-5"> {strings.teachers.teachers_list.page_title.replace(/\s{4}/, `${total} `)} </p>
如果担心空格数量可能变化,也可以用/\s+/匹配任意多个空格,替换后效果一样:
<p className="mt-0 font-bold text-center max-w-lg mx-auto px-5"> {strings.teachers.teachers_list.page_title.replace(/\s+/, `${total} `)} </p>
内容的提问来源于stack exchange,提问作者mustafasamet
相关产品推荐
相关产品推荐

