我想在我的應用程序中翻譯我的靜態文本。運行應用程序後的輸出在我的示例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