2013-07-16 67 views
1

经过一段时间的尝试和尝试不同的选项后,我决定使用i18next 1来国际化早午餐和骨干网络应用程序。然而,我正努力在初始化i18next的位置以便在整个应用程序中使用i18n支持。i18next - 早午餐和骨干设置

目前我把初始化到主Backbone.Marionette.Application这样的:

@addInitializer (options) -> 
    Media = require 'models/media' 
    Router = require 'lib/router' 

    @media = new Media 

    # setup routing and html5 history 
    $.i18n.init 
    lng: 'en-Us' 
    fallbackLng: 'en' 
    debug: true 
    , (t) => 
    console.log 'i18n initialized' 


    @router = new Router controller: this 
    Backbone.history.start() 

虽然我没有得到任何错误,翻译文件正确加载,我一直没能得到弦翻译。

相应的HTML看起来那么像这样:

<h5 data-i18n="title-text.unnamedtitle" class="title-text"></h5> 

这与翻译文件标题文本关键字相匹配。

任何想法如何处理?

回答

1

App初始化器内部的初始化应该没问题。缺少的是实际使用i18next库并将其应用于渲染的视图。

如果您使用的意见,从木偶,你可以提供的OnRender方法:

onRender: function() { 
    this.$el.i18n(); 
} 

如果直接渲染视图,尝试添加此$ el.i18n();到渲染方法的结尾。

+0

嘿,太棒了 - 这正是缺失的链接,谢谢! – tomw