EmberJS是否支持国际化应用的翻译路线?或者它是否至少可以轻松扩展它以支持i18n路线?有经验的人吗?
E.g。可以通过某种方式从路由文件中动态设置路由字符串吗?使用Ember和Rails路由也不会被指定两次......这样会很酷吗?
我是Ember的新手(目前正在评估js框架)但是我一般认为Rails只能在Rails中指定非常基本的路由,其余的在Ember中?那么重复不会太多?想知道来自Rails的语言环境文件是否可用于查找路由转换。
作为一个更普遍的问题:Ember是否已经支持I18n?
答案 0 :(得分:6)
您可以通过重新打开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());
}
});
答案 1 :(得分:4)
有一个ember-i18n项目:https://github.com/zendesk/ember-i18n
它可以帮助您处理字符串,但目前没有解决方法来处理已翻译的URL。
您可以将任何JS路由库与Ember一起使用。有一个非常简单的Ember.Location
协议,用于将您自己的路由库与Ember.Router
集成。
答案 2 :(得分:3)
一般问题的部分答案可以在这里找到:
http://docs.emberjs.com/#doc=Ember.String&method=.loc&src=false
我认为这不是一个完整的i18n支持,并且没有一个内置的emberjs。