javascript - ionic 2 : Use ng2-translate in a ts file

标签 javascript angular translation ionic2 ng2-translate

我想在对象中使用翻译以在 Ionic 2 上使用 toast。但我不明白如何在 .ts 文件中使用 ng2-translate... 有人可以给我举个例子吗?

我希望菜单中的标题有翻译。我尝试这样做,但它不起作用:

constructor(public platform: Platform, public menu: MenuController, public translate : TranslateService) {
this.initializeApp();

translate.setDefaultLang('fr');
translate.use('fr');
let testTrad : string = 'Accueil';

translate.get('TEST').subscribe(res => {testTrad = res; console.log(testTrad)});
console.log(testTrad);

// Remplissage du tableau des pages.
this.pages= [
  {title: testTrad ,                  component: TabsPage},
  {title: 'Mon compte',               component: MyAccountPage},
  {title: 'Changer de mot de passe' , component: ChangePasswordPage},
  {title: 'Documents' ,               component: DocumentsPage}
]

它必须在我的菜单上显示“test”,但它继续显示“Accueil”。

最佳答案

不,这是正确的,

translate.get('TEST').subscribe(res => {testTrad = res; console.log(testTrad)});
console.log(testTrad);

// Remplissage du tableau des pages.
this.pages= [
  {title: testTrad ,                  component: TabsPage},
  {title: 'Mon compte',               component: MyAccountPage},
  {title: 'Changer de mot de passe' , component: ChangePasswordPage},
  {title: 'Documents' ,               component: DocumentsPage}
]

.subscribe 是异步的,因此在 subscribe 中分配的值尚无法访问

尝试

translate.get('TEST').subscribe(res => {
    testTrad = res; 
    console.log(testTrad);
    this.pages= [
       {title: testTrad ,                  component: TabsPage},
       {title: 'Mon compte',               component: MyAccountPage},
       {title: 'Changer de mot de passe' , component: ChangePasswordPage},
       {title: 'Documents' ,               component: DocumentsPage}
    ]
});
console.log(testTrad);

或者,如果您不想等待异步完成,您可以尝试

this.pages= [
  {title: 'Mon compte',               component: MyAccountPage},
  {title: 'Changer de mot de passe' , component: ChangePasswordPage},
  {title: 'Documents' ,               component: DocumentsPage}
]
translate.get('TEST').subscribe(res => {
   testTrad = res;
   this.pages.push({title: testTrad, component: TabsPage});
 });

关于javascript - ionic 2 : Use ng2-translate in a ts file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40884970/

相关文章:

javascript - 如何使用 Javascript 创建 jpg 图像?

javascript - 将图像像素数据转换为坐标数组

带复选框的 Angular Material 垫树全选

javascript - this._delegate.setNgStyle 不是 Angular 8 更新后的函数

Android strings.xml 最佳实践?

javascript - 在 ui-router TemplateURL 中运行脚本

javascript - Html页面上多张Base64图片并平滑加载

angular - 如何在azure上部署Angular 2项目

latex - LaTeX 中的双行双语段落

python - Django JavaScript 翻译不起作用