【问题标题】:i18next - brunch and backbone setupi18next - 早午餐和主干设置
【发布时间】:2013-07-14 14:50:26
【问题描述】:

在搜索了一段时间并尝试了不同的选项后,我决定使用 i18next 1 来国际化基于 brunch 和骨干网的 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>

与翻译文件中的标题文本键匹配。

知道如何处理吗?

【问题讨论】:

    标签: backbone.js marionette brunch i18next


    【解决方案1】:

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

    如果你使用 Marionette 的视图,你可以提供 onRender 方法:

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

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

    【讨论】:

      猜你喜欢
      • 2016-05-24
      • 2016-10-07
      • 2018-08-27
      • 1970-01-01
      • 2016-01-19
      • 1970-01-01
      • 2019-01-04
      • 2018-05-07
      • 2015-09-03
      相关资源
      最近更新 更多