最近在使用angular做国际化的时候,发现@ngx-translate/core提供的translateService一直不起作用,配置也没有问题,版本也按照其官网的更换了,发现还是不起作用。
最后发现是我开发过程中用的模拟内存服务的angular-in-memory-web-api它会拦截未知url,国际化服务就没法注入了,找不到i18n里的json文件。
把app.module.ts里配置angular-in-memory-web-api的改一下,加个passThruUnknownUrl: true就可以了:
HttpClientInMemoryWebApiModule.forRoot(
InMemoryDataService, { passThruUnknownUrl: true, dataEncapsulation: false }
)
mark一下。