angular - ionic Angular 平移不起作用

标签 angular ionic-framework ionic2

我使用 ionic 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->import 的数组中:

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');

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

关于angular - ionic Angular 平移不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43666925/

相关文章:

javascript - 为多种用途创建 Angular 解析器

angular - 如何使用angular 5下载具有blob功能的文件

angular - 如何在 Angular 对话框 Material 中的点击转义键上实现优雅关闭的表单?

ionic-framework - 如何获取两个日期之间的天数 ionic+angularjs

angularjs - $state.go(app.location) 和 $location.path ("app/location"有什么区别?

angular - ionic 2 : How to show menutoggle button on child page

angular - No provider for... 使用使用其他自定义服务的服务时出错

typescript - index.ts 中导出的自动排序会导致应用程序崩溃

android - 设置 InAppBrowser 或 Themeable Browser 高度以显示应用程序的底部选项卡

javascript - 应用程序关闭时监听 firebase 数据库更改