在EmberJS(路由和一般)国际化(I18n in EmberJS (routing and in

2019-09-18 05:25发布

是否EmberJS支持转化为国际化应用路线? 或者它至少可以很容易进行扩展,以支持国际化路线? 任何人只要有这方面的经验?

例如,可以在路由字符串以某种方式动态地从语言文件设置? 同样使用灰烬时Rails的路由就不会被两次指定...是这样它会很酷?

我是新来的灰烬(目前正在评估JS框架),但我一般认为与Rails的人会简单地指定Rails内部非常基本路线和灰烬的休息吗? 所以不会有太多的重复? 不知道从Rails的环境文件,可以用来查找路由翻译。

作为一个更普遍的问题:是否有灰烬对I18N已经技术支持吗?

Answer 1:

您可以实现重开国际航线Ember.Route和设置初始化时本地化路线,在这里看到的例子http://jsfiddle.net/pangratz666/wQXvb/ 。

你必须确保该Ember.STRINGS路由器初始化之前被定义。 字符串查找本身可以通过进行loc方法,如通过sly7_7提及。

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());
    }
});


Answer 2:

有灰烬,国际化项目: https://github.com/zendesk/ember-i18n

它会帮助你与你的字符串,但没有用于处理当前翻译的URL的解决方案。

你可以使用任何JS库路由与Ember。 有一个很简单的Ember.Location为自己的路由库整合协议Ember.Router



Answer 3:

对于一般问题的部分答案可以在这里找到:

http://docs.emberjs.com/#doc=Ember.String&method=.loc&src=false

我想,这是不是一个完整的国际化支持,并没有一个内置的emberjs。



文章来源: I18n in EmberJS (routing and in general)