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.pug
h1 #{t('test.HELLO', i18nLang, {username: 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