离子角度转换不起作用

时间:2017-04-27 20:00:01

标签: angular ionic-framework ionic2

我使用离子2并浏览了这个文件:

{{ 'HELLO' | translate }}   

我完成了翻译工作所需的所有更改。但是,当我在html文件中写这个时:

HELLO   

在我看到的页面中

{
    "HELLO": "Hello there"
}

这甚至以为我在/assets/i18n/en.json上有一个文件,其中包含:

import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import { Http } from '@angular/http';

在app.ts中我添加了这些导入:

export function createTranslateLoader(http: Http) {
    return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}

然后在进口后我有了这个:

TranslateModule.forRoot({
  loader: {
    provide: TranslateLoader,
    useFactory: (createTranslateLoader),
    deps: [Http]
  }
})      

还有@NgModule->导入数组:

import { HttpModule } from '@angular/http';

我意识到我的应用程序在此导入之前已经存在:

http: HttpModule

我不确定为什么我导入了它,但如果我将其删除,那么应用程序会在其他地方中断。 那是问题吗?使用两个不同的名称导入angular / http两次? 试图只使用原始的,但在导出函数中它不喜欢参数

http: Http

文档中的那个

{{1}}

我可以查看en.json是否已加载?或者这里有什么问题?

1 个答案:

答案 0 :(得分:2)

您可以使用Inspector Web(F12)查看en.json。您是否在代码源中的某处使用这些方法?

this.translate.setDefaultLang('en');
this.translate.use('en');

在视图中,您只看到“HELLO”因为(我认为是这样)您没有配置要使用的语言。