Migrating from v2 to v3
Breaking Changes
Angular 18+ required
v3 drops support for Angular 16 and 17. Update your peer dependency:
"@angular/core": ">=18.0.0"
SSR via secondary entry point
enableSsrRouteTranslation has been removed from provideNgxTranslateRoutes() — passing it now throws a runtime error. SSR setup has moved to a dedicated entry point to keep the browser bundle clean.
Before (v2):
import { provideNgxTranslateRoutes } from 'ngx-translate-routes'
// app.config.ts
provideNgxTranslateRoutes({
enableSsrRouteTranslation: true,
availableLanguages: ['en', 'es'],
})
After (v3):
// app.config.ts (browser — no SSR options here)
import { provideNgxTranslateRoutes } from 'ngx-translate-routes'
provideNgxTranslateRoutes({ /* browser options only */ })
// app.config.server.ts
import { provideNgxTranslateRoutesSsr } from 'ngx-translate-routes/ssr'
provideNgxTranslateRoutesSsr({
availableLanguages: ['en', 'es'],
})
See the SSR guide for the full setup.
NgxTranslateRoutesModule deprecated
The NgModule-based API continues to work in v3 but is deprecated. Migrate to the standalone provider:
// Before
NgxTranslateRoutesModule.forRoot({ ... })
// After
provideNgxTranslateRoutes({ ... })
provideAppInitializer replaces APP_INITIALIZER (internal)
This is an internal change — no action required unless you were directly overriding the APP_INITIALIZER token.