Skip to main content

# Pug

To enable pug support make use of the `viewEngine` option inside your `I18nModule`.

src/app.module.ts

      I18nModule.forRoot({
        fallbackLanguage: 'en',
        loaderOptions: {
          path: path.join(__dirname, '/i18n/'),
        },
    +   viewEngine: 'pug'
      })

## Example usage​

Let's try to do some translations with pug templates.

src/i18n/en/test.json

    {
      "HELLO": "Hello {username}",
    }

src/app.controller.ts

    @Controller('Test')
    export class TestController {
      @Get('/')
      @Render('page')
      index(): any {
        return { username: "Toon" };
      }
    }

src/view/page.hbs

    h1= t('test.HELLO', i18nLang, { username })

caution

The second parameter `i18nLang` is the current language. There is no way of passing this to `nestjs-i18n` automatically. So you have to pass it manually.

tip

The third argument is optional. This is only needed if you want to pass along arugments to your translations.

### Result​

#

    Hello Toon