首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Transloco翻译第一次不能工作

Transloco翻译第一次不能工作
EN

Stack Overflow用户
提问于 2020-07-07 14:33:08
回答 1查看 3.2K关注 0票数 1

这是我的Transloco配置:

代码语言:javascript
复制
@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', 'es'],
        defaultLang: 'en',
        // Remove this option if your application doesn't support changing language in runtime.
        reRenderOnLangChange: true,
        prodMode: environment.production,
      })
    },
    { provide: TRANSLOCO_LOADER, useClass: TranslocoHttpLoader }
  ]
})
export class TranslocoRootModule {}

当我尝试使用翻译方法翻译时,它第一次就不起作用了。

代码语言:javascript
复制
constructor(
    private translate: TranslocoService
  ) {
    console.log('<< ', this.translate.translate('dashboard.label'));
  }

如果我通过路由器移动到另一条路由并返回,文本将被翻译。第一次加载应用程序时,似乎没有时间加载翻译。有办法解决这个问题吗?提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-07-09 15:41:47

如文件所述:

请注意,为了安全地使用此方法,您有责任确保转换文件在调用时已成功加载。如果您不确定,可以使用selectTranslate()方法代替

此方法返回一个可观察到的:

代码语言:javascript
复制
translocoService.selectTranslate('hello').subscribe(value => ...)
translocoService.selectTranslate('hello', { value: 'world' }).subscribe(value => ...)
translocoService.selectTranslate('hello', {}, 'en').subscribe(value => ...)

官方文件

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62777654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档