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