我正在使用i18n-js将语言环境加载到我的 js 应用程序中。当我在我的 View 中使用翻译函数时,我希望能够只说 t('Hello')
而不是 I18n.t('Hello')
。我怎样才能让这样的别名发挥作用?
import I18n from 'i18n';
const Hello = () => {
return (
<div>{I18n.t("hello", {name: "John"})}</div>
)
}
最佳答案
您可以将t
函数分配给window
:
window.t = I18n.t;
然后你就可以使用t('Hello')
。然而,如@Thilo mentioned ,这可能会导致一些并发症。
更好的选择是编写一个小包装器:
function t(key){
return I18n.t(key);
}
<小时/>
最佳选项,suggested通过@deceze ,将是这一行:
var t = I18n.t.bind(I18n);
单行,无论调用的范围如何,都应该有效。
关于javascript - 我可以在 javascript 中调用 t() 而不是 I18n.t() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36834438/