在我的开发环境中,代码运行正常。但是一旦我构建它并推向生产,它就无法将应用程序编译成正确的语言
console.log(environment);
if (environment.production) {
enableProdMode();
window.console.log = function () { }; // disable any console.log debugging statements in production mode
}
declare const require;
var translations;
let locationSplit = window.location.hostname.split(".");
console.log(locationSplit);
if (locationSplit[0] == environment.chinese) {
translations = require(`raw-loader!./locale/translatedChinese.zh-Hans.xlf`);
}
else {
translations = null;
}
platformBrowserDynamic().bootstrapModule(AppModule, {
providers: [
{ provide: TRANSLATIONS, useValue: translations },
{ provide: TRANSLATIONS_FORMAT, useValue: 'xlf' }
]
});
我控制台记录了翻译文件,并在那里。但是......它没有这样做。是的,逻辑很好。我测试了它。就像我说的,当用webpack在本地运行时,一切都很顺利。所以我对这个问题感到困惑。文件在那里,逻辑是正确的,但它仍然以英文显示:(
答案 0 :(得分:0)
ng build --aot=false
答案 1 :(得分:-1)
看看这个:https://angular.io/guide/i18n#merge-with-the-aot-compiler 使用AOT编译器似乎可以做到这一点。