如何解决Next-i18next 即时翻译
有没有办法使用 next-i18next
库翻译某些内容而不用 router.push
更改语言环境?
我有 3 个语言环境:['en','de','fr']
,默认为 de
。当我尝试执行以下操作时:
import {useTranslation} from 'next-i18next'
const Component = () => {
const { t } = useTranslation("common");
console.log(t('word',{ lng: 'fr' }));
}
虽然我当前的语言环境是 de
,但它返回 de
的翻译版本,而不是 fr
。
解决方法
如果参考此文档https://react.i18next.com/latest/usetranslation-hook,在不更改整个系统语言的情况下无法翻译某些内容,您可以使用两种方式更改系统语言:
你描述的router.push
另一个是:
const { t,i18n } = useTranslation();
i18n.changeLanguage('de');
console.log( t('word') );
i18n.changeLanguage('en-US');
但是这个解决方案非常难看,因为你会为非常小的日志切换整个系统语言。
如果您将描述真实案例,可能会帮助您找到真正的解决方案。真实案例意味着为什么你需要在 DE 上记录翻译的单词等等。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。