i18next - 早午餐和骨干设置

时间:2013-07-16 12:16:39

标签: backbone.js marionette brunch i18next

在搜索了一段时间并尝试不同的选项之后,我决定使用i18next 1来国际化基于早午餐和骨干的Web应用程序。但是我在初始化i18next的地方有点挣扎,以便在整个应用程序中提供i18n支持。

目前我将初始化放入主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 个答案:

答案 0 :(得分:1)

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

如果您使用Marionette的观点,您可以提供onRender方法:

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

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