如何解决VUE i18n 中长文本段落的国际化
在长文本段落中使用 VUE i18n 的最佳方法是什么? 我知道我可以使用反引号 (``) 甚至保留回车,但这是要走的路吗?还是根据语言环境有条件地加载不同的 JSON 文件更好?
解决方法
您可以在模板中使用以下内容来添加一些内容:{{ $t('deeply.nested.key') }}
并引用具有超长值的 JSON。如果您的块不需要纯文本以外的任何东西,那就没问题了。
如果您需要添加一些样式、新行、一些条件渲染或任何不只是文本的内容,我建议您使用 component interpolation。它将防止在您的 JSON 中出现丑陋的内联 html/css。
在一个完全不同的主题上,确实,延迟加载语言环境也是一个好主意。
这是关于如何实现它的一小段代码,可以在 dedicated page 上找到更多详细信息。
// If the language hasn't been loaded yet
return import(/* webpackChunkName: "lang-[request]" */ `@/i18n/messages/${lang}.js`).then(
messages => {
i18n.setLocaleMessage(lang,messages.default)
loadedLanguages.push(lang)
return setI18nLanguage(lang)
}
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。