我们可以使用 Angular 为不同的组件/模块翻译不同的语言吗

问题描述 投票:0回答:1

我正在使用 ngx-translate 来更改应用程序的语言。 我的应用程序有不同的语言仅用于测试,并且它被分隔在不同的模块中,延迟加载。

所以我有 2 个语言变量。

  1. 适用于人员的简历,仅文本会根据所选语言进行更改
  2. 适用于所有其他组件和模块

但实际的问题是,如果我使用

translate.use(cvLanguage)
那么它就会翻译所有应用程序。

此模块之外的主要组件也会发生同样的情况。

我尝试在翻译模块中使用isolate,但它不起作用。

这是我的代码。

app.module.ts

TranslateModule.forRoot({
  loader: {
    provide: TranslateLoader,
    useFactory: httpTranslateLoader,
    deps: [HttpClient],
  },
}),

export function httpTranslateLoader(http: HttpClient) {
return new TranslateHttpLoader(http);
}

这就是

user.module

TranslateModule.forChild({
  loader: {
    provide: TranslateLoader,
    useFactory: httpTranslateLoader
  },
  isolate: true
}),
export function httpTranslateLoader(http: HttpClient) {
return new TranslateHttpLoader(http);
}

我尝试分离模块并隔离翻译,但没有成功。

javascript angular typescript ngx-translate
1个回答
0
投票

不太确定,但您可以尝试为每个单独的模块使用单独的 TranslateModule。 不要将其添加到AppModule中。

© www.soinside.com 2019 - 2024. All rights reserved.