如何使用URL参数或路由/模板中的变量在ember JS中设置国际化

时间:2017-01-31 06:46:31

标签: ember.js internationalization

我有一个现成的余烬应用程序,我正在工作。它已在初始化文件夹文件夹中有一个i18n.js文件,并且几行代码如下所示

import Ember from 'ember';
export function initialize() {
Ember.I18n.translations = TRANSLATIONS.en;
}

 var TRANSLATIONS = {
  en: {
      hello: 'Hello'
  },
  fr: {
      hello : 'bonjour' 
  }
 };

 export default {
    name: 'i18n',
    initialize: initialize,
    before: '',
    after: ''
 };

我的应用有3个着陆页(法语/英语/西班牙语),所以当点击英文着陆页的网址时,我应该通过' en'参数i18n.js。

我的问题是i18n.js最初是在应用程序加载时加载的,并且设置为' en'之后,我无法访问它并修改为不同的值。

我是ember和UI开发的新手,我浏览了指南,但未能找到我案例的具体示例

1 个答案:

答案 0 :(得分:0)

您可以在申请途径中访问i18n,您可以在下面设置。

this.set('i18n.locale', langCodeYouWantToSet);

这应该在应用程序路由的beforeModel中设置,以便您的应用程序使用正确的语言加载。