微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

离子构建后无法加载 i18N 文件

如何解决离子构建后无法加载 i18N 文件

运行NG Build生成PWA方案后,找不到transloc翻译的i18n文件。我寻找文件指向的位置,但没有找到。

正确的网址是 http://localhost/mydomain/assets/i18n/en-US.json

enter image description here

transloco-root.module.ts 配置

    import { HttpClient } from '@angular/common/http';
import {
  TRANSLOCO_LOADER,Translation,TranslocoLoader,TRANSLOCO_CONfig,translocoConfig,TranslocoModule
} from '@ngneat/transloco';
import { Injectable,NgModule } from '@angular/core';
import { environment } from '../environments/environment';

@Injectable({ providedIn: 'root' })
export class TranslocoHttpLoader implements TranslocoLoader {
  constructor(private http: HttpClient) {}

  getTranslation(lang: string) {
    return this.http.get<Translation>(`./assets/i18n/${lang}.json`);
  }
}

@NgModule({
  exports: [ TranslocoModule ],providers: [
    {
      provide: TRANSLOCO_CONfig,useValue: translocoConfig({
        availableLangs: ['en-US','pt-BR'],defaultLang: 'en-US',fallbackLang: 'en-US',missingHandler: {
          useFallbackTranslation: true,logMissingKey: false
        },reRenderOnLangChange: true,prodMode: environment.production,})
    },{ provide: TRANSLOCO_LOADER,useClass: TranslocoHttpLoader }
  ]
})
export class TranslocoRootModule {}

解决方法

为了解决这个问题,我将 i18N 文件设置为相对路径并且工作正常。

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。