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