标签: javascript function module internationalization
我正在使用i18n-js将区域设置加载到我的js应用中。当我在视图中使用翻译功能时,我希望能够只说t('Hello')而不是I18n.t('Hello')。我怎样才能让这样的别名起作用?
t('Hello')
I18n.t('Hello')
import I18n from 'i18n'; const Hello = () => { return ( <div>{I18n.t("hello", {name: "John"})}</div> ) }
答案 0 :(得分:0)
您可以将t功能分配给window:
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);
单行,无论调用的范围如何,都应该有效。