在Angular应用程序中,要支持多种语言,你需要使用Angular国际化(i18n)功能
app.module.ts
文件中,导入HttpClientModule
和TranslateModule
,并将它们添加到imports
数组中。然后,使用forRoot()
方法配置TranslateModule
,并提供翻译文件的路径。
app.module.ts:
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { HttpClientModule } from '@angular/common/http'; import { TranslateModule, TranslateLoader } from '@ngx-translate/core'; import { TranslateHttpLoader } from '@ngx-translate/http-loader'; import { AppComponent } from './app.component'; export function HttpLoaderFactory(http: HttpClient) { return new TranslateHttpLoader(http); } @NgModule({ declarations: [AppComponent], imports: [ BrowserModule, HttpClientModule, TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: HttpLoaderFactory, deps: [HttpClient], }, }), ], providers: [], bootstrap: [AppComponent], }) export class AppModule {}
translate
管道来标记需要翻译的文本。
app.component.html:
<h1 translate="HELLO"></h1> <p translate="GOODBYE"></p>
TranslateService
,并调用use
方法。
some.component.ts:
import { Component } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; @Component({ selector: 'app-some', templateUrl: './some.component.html', styleUrls: ['./some.component.css'], }) export class SomeComponent { constructor(private translate: TranslateService) {} switchLanguage(language: string) { this.translate.use(language); } }
通过这种方式,你可以在Angular应用程序中轻松地支持多种语言,并根据需要切换它们。
领取专属 10元无门槛券
手把手带您无忧上云