boltQuickstart

circle-info

💡 Tip

If you already have i18n implemented in your project and are considering migrating to Transloco, check out our ngx-translate & Angular's i18n migrations.

The recommended way to add Transloco to your project is by running the add schematics:

ng add @jsverse/transloco

For more information, see the ng-add documentation page.

As part of the installation process, you'll be presented with questions; Once you answer them, everything you need will automatically be created.

circle-info

If you prefer not to use the schematics, you can install Transloco and manually add the files described below

Let's take a closer look at the updates made and the generated files:

The command will add the provideTransloco and provideHttpClient to your app providers:

app.config.ts
import { ApplicationConfig, isDevMode } from '@angular/core';
import { provideHttpClient } from '@angular/common/http';
import { provideTransloco } from '@jsverse/transloco';

import { TranslocoHttpLoader } from './transloco-loader';

export const appConfig: ApplicationConfig = {
  providers: [
    provideHttpClient(),
    provideTransloco({
      config: {
        availableLangs: ['en', 'es'],
        defaultLang: 'en',
        // Remove this option if your application doesn't support changing language in runtime.
        reRenderOnLangChange: true,
        prodMode: !isDevMode(),
      },
      loader: TranslocoHttpLoader,
    }),
  ],
};

Transloco loaderarrow-up-right

A default http loader implementation to fetch the translation files:

circle-info

When you deploy your application and Transloco is unable to load your language files it might be because you need to use a relative path:

Translation JSON filesarrow-up-right

Transloco creates boilerplate files for the requested languages with an empty JSON:

Transloco Global Configarrow-up-right

This config is used by tools & plugins such as the scoped lib extractor and the keys manager.

You can read more about it here.

And that's it! Now we are ready to use it in our project.

Last updated

Was this helpful?