使用离子2并通过此文档:
http://ionicframework.com/docs/resources/ng2-translate/
我进行了翻译工作所需的所有更改。但是,当我在html文件中写下此时:
{{ 'HELLO' | translate }}
在页面中我看到
HELLO
这个,甚至以为我有一个文件/assets/i18n/en.json,其中包含:
{
"HELLO": "Hello there"
}
在app.ts中,我添加了这些导入:
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import { Http } from '@angular/http';
然后在进口之后,我有一个:
export function createTranslateLoader(http: Http) {
return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
以及 @ngmodule->导入的数组中的此:
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [Http]
}
})
我意识到我的应用程序以来就有此以后有:
import { HttpModule } from '@angular/http';
我不确定为什么要导入它,但是如果我将其删除,那么该应用程序会在其他地方断开。那是问题吗?用两个不同的名称导入两次Angular/HTTP?尝试仅使用原始函数,但是在导出函数中,它不喜欢参数
http: HttpModule
文档中的一个人
http: Http
我可以看看是否已加载了en.json?或这里有什么问题?
您可以使用Inspector Web(F12(看到EN.JSON。您是否在代码源的某个地方使用这些方法?
this.translate.setDefaultLang('en');
this.translate.use('en');
在视图中,您只会看到"你好",因为(我认为是这样(您没有配置要使用的语言。