Saltar al contenido principal
Version: 3.x (latest)

Configuración: Aplicación Standalone

Para aplicaciones Angular que usan la API standalone (recomendado Angular 17+).

Configuración Básica

app.config.ts
import { ApplicationConfig, importProvidersFrom } from '@angular/core'
import { provideRouter } from '@angular/router'
import { provideHttpClient, HttpClient, withFetch } from '@angular/common/http'
import { TranslateModule, TranslateLoader } from '@ngx-translate/core'
import { TranslateHttpLoader } from '@ngx-translate/http-loader'
import { provideNgxTranslateRoutes } from 'ngx-translate-routes'
import { routes } from './app.routes'

export const httpLoaderFactory = (http: HttpClient) =>
new TranslateHttpLoader(http)

export const appConfig: ApplicationConfig = {
providers: [
provideHttpClient(withFetch()),
provideRouter(routes),
importProvidersFrom(
TranslateModule.forRoot({
defaultLanguage: 'en',
useDefaultLang: true,
loader: {
provide: TranslateLoader,
useFactory: httpLoaderFactory,
deps: [HttpClient],
},
}),
),
provideNgxTranslateRoutes(),
],
}

Componente Raíz

Cambia el idioma a través de TranslateService. La librería reacciona al evento onLangChange automáticamente.

app.component.ts
import { Component, inject } from '@angular/core'
import { TranslateService } from '@ngx-translate/core'

@Component({ /* ... */ })
export class AppComponent {
private readonly translate = inject(TranslateService)

cambiarIdioma(lang: string) {
this.translate.use(lang)
}
}

Con Configuración Personalizada

provideNgxTranslateRoutes({
enableRouteTranslate: true, // por defecto: true
enableTitleTranslate: true, // por defecto: true
enableLanguageInPath: true, // agrega /es/ a las URLs
includeDefaultLanguageInPath: true,
})

Consulta la Configuración para ver todas las opciones disponibles.