Skip to main content
Version: 2.x

Configuration Reference

All options can be passed to both provideNgxTranslateRoutes(config) and NgxTranslateRoutesModule.forRoot(config).

Options

OptionTypeDefaultDescription
enableRouteTranslatebooleantrueTranslate URL path segments
enableTitleTranslatebooleantrueTranslate document.title
enableQueryParamsTranslatebooleanfalseTranslate query parameter names
enableLanguageInPathbooleanfalsePrepend locale code to URL (e.g. /es/ruta)
includeDefaultLanguageInPathbooleanfalseInclude default locale in URL (e.g. /en/route)
routePrefixstring'routes'Top-level key in translation file for route paths
titlePrefixstring'titles'Top-level key in translation file for page titles
routeSuffixesWithQueryParamsobject{ route: 'root', params: 'params' }Sub-keys used when query param translation is enabled
routeTranslationStrategyFunctionundefinedOverride translation logic: (route: string) => string
routesUsingStrategystring[][]Route segments where routeTranslationStrategy applies
cacheMethod'localStorage' | 'cookies''localStorage'Storage backend for translated path history
cookieExpirationDaysnumber30Cookie TTL when cacheMethod is 'cookies'
enableSsrRouteTranslationbooleanfalseEnable SSR-specific route registration
availableLanguagesstring[]['en']Languages the app supports (used for SSR detection)
onLanguageChange() => voidundefinedCallback fired after language change and re-translation

Defaults

All defaults are exported as DEFAULT_CONFIG:

import { DEFAULT_CONFIG } from 'ngx-translate-routes'

Examples

Minimal — translate titles and routes

provideNgxTranslateRoutes()
// same as:
provideNgxTranslateRoutes({
enableRouteTranslate: true,
enableTitleTranslate: true,
})

Disable route translation, keep title

provideNgxTranslateRoutes({
enableRouteTranslate: false,
enableTitleTranslate: true,
})
provideNgxTranslateRoutes({
cacheMethod: 'cookies',
cookieExpirationDays: 7,
})

Custom translation key prefixes

provideNgxTranslateRoutes({
routePrefix: 'navigation.paths',
titlePrefix: 'navigation.titles',
})

Language change callback

provideNgxTranslateRoutes({
onLanguageChange: () => {
console.log('Language changed and routes re-translated')
},
})

Route Data Properties

Configure individual routes via data:

PropertyTypeDescription
data.titlestringTranslation key for the page title (maps to titlePrefix.value)
data.skipTranslationbooleanSkip both title and route translation for this route
titlestringAngular native title — used as-is when skipTranslation: true
const routes: Routes = [
{
path: 'about',
component: AboutComponent,
data: { title: 'about' }, // → translated
},
{
path: 'dashboard',
title: 'Dashboard',
component: DashboardComponent,
data: { skipTranslation: true }, // → not translated
},
]