I18n在EmberJS(路由和一般)

Nic*_*ico 4 routing ruby-on-rails internationalization ember.js ember-router

EmberJS是否支持国际化应用程序的翻译路线?或者它是否至少可以轻松扩展它以支持i18n路线?有经验的人吗?

例如,路由字符串可以通过某种方式从语言环境文件动态设置吗?使用Ember和Rails路由也不会被指定两次......这样会很酷吗?是这样吗?

我是Ember的新手(目前正在评估js框架)但是我一般认为Rails只需要在Rails中指定非常基本的路由,其余的在Ember中指定?那么重复不会太多?想知道来自Rails的语言环境文件是否可用于查找路由转换.

作为一个更普遍的问题:Ember已经支持I18n了吗?

pan*_*atz 6

您可以通过Ember.Route在初始化时重新打开并设置本地化路由来实现国际化路由,请参阅此处的示例http://jsfiddle.net/pangratz666/wQXvb/.

您必须确保路由器初始化之前Ember.STRINGS定义了它.字符串查找本身可以通过方法完成,如sly7_7所述.loc

Ember.STRINGS = {
    '/all': '/alle',
    '/home/:id': '/zuhause/:id'
};

Ember.Route.reopen({
    init: function() {
        this._super();
        var route = this.get('route');
        if (route) this.set('route', route.loc());
    }
});
Run Code Online (Sandbox Code Playgroud)