如何仅将页面的一部分翻译为特定语言?

问题描述 投票:0回答:1

在 Django 中,我可以使用

activate()
(和
deactivate()
)暂时切换翻译以不同的语言完成。同样,在模板中,我可以使用
{% language %}
模板标签

这允许我将整个页面翻译成通用语言,但用另一种语言呈现它的特定部分。

是否可以做与

i18next
类似的事情,用另一种语言渲染some组件?

更新:

感谢@Avi 的评论,我离这里的答案更近了一点。但这只允许我指定单个字符串的语言。我想做的是设置组件及其所有子组件的语言。这可能吗?

reactjs translation i18next
1个回答
0
投票
您可以使用与我建议的链接中提到的类似方法。您可以在调用

lng

 挂钩时将其应用于 
t
 函数,而不是将 
useTranslation
 选项应用于特定翻译。

const { t } = useTranslation('context', { lng: 'de' });


这样,文件中所有使用

t

 函数的翻译都将使用您指定的语言(本例中为德语)。我不认为组件后代可以默认继承它,但您始终可以将 
t
 函数作为 prop 传递给其他组件,这样您就知道它们都使用您在父组件中定义的相同 
t
 函数

const MyComponent = () => { const { t } = useTranslation('context', { lng: 'de' }); return ( <AnotherComponent t={t} /> ) } const AnotherComponent = ({ t }) => { const myTranslation = t('settings'); return <p>{myTranslation }</p> }
    
© www.soinside.com 2019 - 2024. All rights reserved.