ali*_*eza 0 html json reactjs next.js
我有多语言的 next js 网站。
我使用 packge i18next。我像这样在 jsx 中定义变量。
{t("satisfied:title")}
Run Code Online (Sandbox Code Playgroud)
它的意思是
{t("JSONflieName:JSONvariable")}
Run Code Online (Sandbox Code Playgroud)
但在 json 文件中我不能使用 HTML,它显示像字符串一样
"title" : "this is my<br \/> <span class=\"test\"> test <\/span> title"
Run Code Online (Sandbox Code Playgroud)
小智 6
出于安全原因,React 对 HTML 实体进行了转义。为了让你的翻译呈现实际的 HTML,你可以这样做:
<div dangerouslySetInnerHTML={{ __html: t("satisfied:title")}} />
Run Code Online (Sandbox Code Playgroud)
但是,我强烈建议您不要像上面那样做。您真正应该注意的是将 HTML 放入您的翻译文本中。如果这些翻译在某个时候由外部翻译人员管理,他们可能不熟悉 HTML 语法。您相信这些翻译人员不会意外破坏您的用户界面吗?你不应该。
相反,您应该使用高级概念来使用此技术处理上述情况:https://react.i18next.com/latest/trans-component
| 归档时间: |
|
| 查看次数: |
830 次 |
| 最近记录: |