emberjs路由器设置网站的语言

时间:2012-08-06 12:19:46

标签: ember.js ember-old-router

如何从lang设置setEN并从about读取?

在网站上选择语言是否很好?也许emberjs为此提供了一些其他方法?

我希望更改router.get('applicationController').connectOutlet('about');以加载connectOutlet('about-' + lang )。这样,我将根据用户选择的语言加载about-plabout-en

这种情况强制在更改语言后重新加载页面。我怎样才能做到这一点?因为当用户处于“#/ about”并选择新语言页面时,应重新加载以加载about-language

App.Router = Em.Router.extend({
    enableLogging: true,
    location: 'hash',
    lang: 'pl',

    root: Em.Route.extend({
        // EVENTS
        setPL: function () {
            this.set('lang', 'pl');
        },
        setEN: function () {
            this.set('lang', 'en');
        },

        gotoAbout: Ember.Route.transitionTo('about'),
        gotoProjects: Ember.Route.transitionTo('projects'),
        gotoTechnology: Ember.Route.transitionTo('technology'),
        gotoContact: Ember.Route.transitionTo('contact'),

        index: Em.Route.extend({
            route: '/',
            connectOutlets: function (router, context) {
                router.get('applicationController').connectOutlet('navbar', 'navbar');
            },

            // STATES
            about: Em.Route.extend({
                route: '/',
                connectOutlets: function (router, context) {
                    console.log( router.get('lang') );
                    router.get('applicationController').connectOutlet('about');
                }
            }),

另一方面,我可以使用语言作为路径的一部分,例如:#/en/about。 但是如何将#/about更改为#/en/about#/contact更改为#/en/contact以及其他方式存在问题。并且路径更复杂#/projects/12

0 个答案:

没有答案
相关问题