【问题标题】:i18next strange behavior with requirejs, backbone and underscore templates使用 requirejs、主干和下划线模板的 i18next 奇怪行为
【发布时间】:2013-08-02 08:17:58
【问题描述】:

我正在使用 i18next,我认为它很棒。 我将它与 Backbone 和 Underscore 模板结合使用。 让我解释一下我的情况。 应用程序一启动,我就初始化 i18n,然后启动 Backbone 历史记录,所以我很确定在应用程序启动时 i18n 已准备就绪。

var option = {
    debug: true
};

i18n.init(option).done(function()
{
    Backbone.history.start();
});

一切正常,因为当我需要渲染视图时,我只需调用一个方法,然后在该方法中执行:

$("body").i18n();

我看到一切都完美地本地化了!

问题在于视图自身呈现并且在从服务器获取数据后需要重新呈现。在这种情况下,在该控件上,本地化文本会消失。如果我在数据准备好时阻止第二次渲染,则一切都已完美本地化。否则(即使我在数据尚未准备好时删除第一次渲染),数据也不会出现。

我做错了什么?

谢谢, 马可

【问题讨论】:

    标签: backbone.js requirejs underscore.js i18next


    【解决方案1】:

    在渲染视图时你也必须调用 i18n。有关详细信息,请参阅此问题:i18next - brunch and backbone setup

    【讨论】:

    • 感谢 drax 的回复。这就是我所做的,但它似乎不起作用。奇怪的事实是,如果我这样做: $(template).i18n();它第一次起作用,但在刷新视图时不起作用。如果我喜欢: $(".view-class").i18n();其中 .view-class 是链接到该视图的特定类,它有效!好奇怪……
    • 你能发布视图代码吗?没有它,很难找出问题可能出在哪里
    猜你喜欢
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多