我想在我的应用程序中翻译我的静态文本。运行应用程序后的输出在我的示例测试中。就像我的变量名一样。我想,问题出在网址上。只有像这样的完整url才能工作,我不知道为什么。
我在asp.core 2上的Angular应用程序中使用了ngx-translate。
我把我的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‘。我将我的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"
}
发布于 2017-10-11 05:39:55
将i18n文件夹移动到资源可能会解决您的问题。然后还修改了createTranslateLoader:
export function HttpLoaderFactory(http: Http) {
return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
发布于 2017-10-11 14:26:45
下面是我在ASPNET.Core和ngx-translate上工作得很好
export function translateLoaderFactory(http: Http) {
return new TranslateStaticLoader(http, './i18n/', '.json');
}
https://stackoverflow.com/questions/46676364
复制相似问题