【发布时间】:2018-04-15 22:25:09
【问题描述】:
在我的 webapp 中,我使用 ngx-translate 模块进行本地化。它适用于我使用管道翻译的 html 字符串。我在我的 ts 组件中翻译的字符串有问题。字符串被翻译,但如果我重新加载页面它们是空字符串,如果我转到我的应用程序内的其他页面并返回它们又是正常的。我已经定义了方法:
public getTranslation(key: string){
let str="";
this.translate.get(key).subscribe(value => {str = value});
return str;
}
所以当我定义我使用的变量时:
variable: string = this.getTranslation("key-in-my-json-file")
我在 app.module 中的配置,加载器:
export function createTranslateLoader(http: HttpClient) {
return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
在进口方面:
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [HttpClient]
}
})
我在 package.json 中的版本:
"@ngx-translate/core": "^8.0.0",
"@ngx-translate/http-loader": "^1.0.2",
"typescript": "2.5.2"
和角度版本 4.3.6
【问题讨论】:
-
试试新库 Transloco。
标签: angular typescript localization ng2-translate ngx-translate