Skip to content

Commit

Permalink
doc: multiple loaders
Browse files Browse the repository at this point in the history
  • Loading branch information
rubiin committed Apr 25, 2024
1 parent 739c46d commit f43098a
Show file tree
Hide file tree
Showing 10 changed files with 56 additions and 41 deletions.
11 changes: 6 additions & 5 deletions docs/concepts/loader.md
Expand Up @@ -4,15 +4,16 @@ sidebar_position: 1

# Loaders

The `loader` option is used to configure loaders, default being `I18nJsonLoader`. Currently `I18nJsonLoader` and `I18nYamlLoader` are supported out of the box.
The `loader` option is used to configure loaders. Currently `I18nJsonLoader` and `I18nYamlLoader` are supported out of the box.

```typescript title="src/app.module.ts"
I18nModule.forRoot({
fallbackLanguage: 'en',
loaderOptions: {
path: path.join(__dirname, '/i18n/'),
},
loader: I18nYamlLoader,
loaders: [
new I18nJsonLoader({
path: path.join(__dirname, '/i18n/'),
}),
],
}),
```

Expand Down
8 changes: 5 additions & 3 deletions docs/concepts/resolver.md
Expand Up @@ -20,9 +20,11 @@ The `resolvers` option is used to configure resolvers. The resolvers takes in ar
```typescript title="src/app.module.ts"
I18nModule.forRoot({
fallbackLanguage: 'en',
loaderOptions: {
path: path.join(__dirname, '/i18n/'),
},
loaders: [
new I18nJsonLoader({
path: path.join(__dirname, '/i18n/'),
}),
],
resolvers: [
new QueryResolver(['lang', 'l']),
new HeaderResolver(['x-custom-lang']),
Expand Down
8 changes: 5 additions & 3 deletions docs/guides/fallback-languages.md
Expand Up @@ -4,7 +4,7 @@ sidebar_position: 5

# Fallback languages

To configure one or more fallback languages use the `fallbackLanguage` and `fallbacks` options.
To configure one or more fallback languages use the `fallbackLanguage` and `fallbacks` options.

The `fallbackLanguage` languages is used when no language is resolved.

Expand All @@ -17,9 +17,11 @@ I18nModule.forRoot({
'fr-*': 'fr',
pt: 'pt-BR',
},
loaderOptions: {
loaders: [
new I18nJsonLoader({
path: path.join(__dirname, '/i18n/'),
},
}),
],
});
```

Expand Down
9 changes: 5 additions & 4 deletions docs/guides/formatting.md
Expand Up @@ -49,13 +49,14 @@ import { I18nJsonLoader, I18nModule } from 'nestjs-i18n';
I18nModule.forRoot({
fallbackLanguage: 'en',
formatter: (template: string, ...args: any[]) => template,
loaderOptions: {
loaders: [
new I18nJsonLoader({
path: path.join(__dirname, '/i18n/'),
watch: true,
}
}),
],
}),
],
controllers: [],
})
export class AppModule {}
```
```
9 changes: 5 additions & 4 deletions docs/guides/graphql.md
Expand Up @@ -41,14 +41,15 @@ After that use the following `GraphQLWebsocketResolver` resolver.
```diff title="src/app.module.ts"
I18nModule.forRoot({
fallbackLanguage: 'en',
loaderOptions: {
loaders: [
new I18nJsonLoader({
path: path.join(__dirname, '/i18n/'),
watch: true,
},
}),
],
resolvers: [
+ GraphQLWebsocketResolver,
{ use: QueryResolver, options: ['lang'] },
AcceptLanguageResolver,
],
})
```
```
11 changes: 6 additions & 5 deletions docs/guides/grpc.md
@@ -1,6 +1,6 @@
# gRPC

When using a [hybrid](https://docs.nestjs.com/faq/hybrid-application) nestjs app the interceptors won't run on your grpc service out of the box. To fix this use the `inheritAppConfig` option when connecting your microservice.
When using a [hybrid](https://docs.nestjs.com/faq/hybrid-application) nestjs app the interceptors won't run on your grpc service out of the box. To fix this use the `inheritAppConfig` option when connecting your microservice.

```diff title="src/main.ts"
app.connectMicroservice<MicroserviceOptions>(
Expand Down Expand Up @@ -42,12 +42,13 @@ After that use the following `GrpcMetadataResolver` resolver.
```diff title="src/app.module.ts"
I18nModule.forRoot({
fallbackLanguage: 'en',
loaderOptions: {
loaders: [
new I18nJsonLoader({
path: path.join(__dirname, '/i18n/'),
watch: true,
},
}),
],
resolvers: [
+ GrpcMetadataResolver
],
})
```
```
9 changes: 5 additions & 4 deletions docs/guides/type-safety.md
Expand Up @@ -19,10 +19,11 @@ import { I18nModule } from 'nestjs-i18n';
imports: [
I18nModule.forRoot({
fallbackLanguage: 'en',
loaderOptions: {
path: path.join(__dirname, '/i18n/'),
watch: true,
},
loaders: [
new I18nJsonLoader({
path: path.join(__dirname, '/i18n/'),
}),
],
typesOutputPath: path.join(__dirname, '../src/generated/i18n.generated.ts'),
}),
],
Expand Down
16 changes: 9 additions & 7 deletions docs/quick-start.mdx
Expand Up @@ -104,10 +104,11 @@ import { I18nModule } from 'nestjs-i18n';
imports: [
I18nModule.forRoot({
fallbackLanguage: 'en',
loaderOptions: {
path: path.join(__dirname, '/i18n/'),
watch: true,
},
loaders: [
new I18nJsonLoader({
path: path.join(__dirname, '/i18n/'),
}),
],
}),
],
controllers: [],
Expand All @@ -128,10 +129,11 @@ import { I18nModule, AcceptLanguageResolver, QueryResolver, HeaderResolver } fro
I18nModule.forRootAsync({
useFactory: (configService: ConfigService) => ({
fallbackLanguage: configService.getOrThrow('FALLBACK_LANGUAGE'),
loaderOptions: {
loaders: [
new I18nJsonLoader({
path: path.join(__dirname, '/i18n/'),
watch: true,
},
}),
],
}),
resolvers: [
{ use: QueryResolver, options: ['lang'] },
Expand Down
8 changes: 5 additions & 3 deletions samples/dto-validation/src/app.module.ts
Expand Up @@ -6,17 +6,19 @@ import {
HeaderResolver,
I18nModule,
QueryResolver,
I18nJsonLoader
} from 'nestjs-i18n';
import { join } from 'path';

@Module({
imports: [
I18nModule.forRoot({
fallbackLanguage: 'en',
loaderOptions: {
loaders: [
new I18nJsonLoader({
path: join(__dirname, '/i18n/'),
watch: true,
},
}),
],
resolvers: [
{ use: QueryResolver, options: ['lang'] },
AcceptLanguageResolver,
Expand Down
8 changes: 5 additions & 3 deletions samples/simple/src/app.module.ts
Expand Up @@ -6,17 +6,19 @@ import {
I18nModule,
QueryResolver,
HeaderResolver,
I18nJsonLoader
} from 'nestjs-i18n';
import { join } from 'path';

@Module({
imports: [
I18nModule.forRoot({
fallbackLanguage: 'en',
loaderOptions: {
loaders: [
new I18nJsonLoader({
path: join(__dirname, '/i18n/'),
watch: true,
},
}),
],
resolvers: [
{ use: QueryResolver, options: ['lang'] },
AcceptLanguageResolver,
Expand Down

0 comments on commit f43098a

Please sign in to comment.