我想在我的应用程序中翻译我的静态文本。运行应用程序后的输出在我的示例TEST中。像我的变量的名称。我认为,问题是网址。只有像这个例子完整的网址,我不知道为什么。ngx-translate找不到url
我曾经在我的角度应用NGX-翻译上asp.core 2.
我把我的createTranslateLoader功能在我app.module.shared.ts。它由app.module.browser.ts和app.module.server.ts加载。
imports: [
...,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [Http]
}
}),...]
和
export function createTranslateLoader(http: Http) {
console.log(http);
return new TranslateHttpLoader(http, 'http://localhost:56601/i18n/', '.json');
}
我的默认语言是德语 '德'。我把我的de.json放在wwwroot/i18n/de.json中。
最后一步修改我app.component.ts
export class AppComponent {
constructor(private translate: TranslateService
) {
translate.addLangs(['en', 'de']);
translate.setDefaultLang('de');
translate.use('de');
//let browserlang = translate.getBrowserLang();
//translate.use(browserlang.match(/en|de/) ? browserlang : 'de');
}
}
和我app.component.html
<p style="color:wheat">{{ 'TEST' | translate }}</p>
我de.json看起来像
{
"TEST": "Deutscher Test"
}
我试过了。现在我收到一个异常: 通过服务器上的Http请求的URL必须是绝对的。 URL:./assets/i18n/de.json。的的FULLPATH是wwwroot文件/资产/国际化/ de.json – Taladan
尝试重构和使用的HttpClient而不是HTTP,像这样: 'HttpLoaderFactory(HTTP:HttpClient的)' ,然后也为您的装载机:'{.. 。,deps:[HttpClient]}' 在app.module中提供以下导入语句: '从'@ angular/common/http'导入{HttpClientModule,HttpClient};' – Andresson