0

langから設定しsetENて読み取るにはどうすればよいaboutですか?

サイトで言語を選択するのは良い方法ですか? 多分emberjsはそのための他の方法を提供しますか?

router.get('applicationController').connectOutlet('about');ロードする変更が必要ですconnectOutlet('about-' + lang )。そのようにして、ユーザーが選択した言語に応じてロードabout-plまたはabout-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

4

0 に答える 0