diff --git a/pages/nestjs-cls-translation/index.md b/pages/nestjs-cls-translation/index.md index 87b209c..7dac95f 100644 --- a/pages/nestjs-cls-translation/index.md +++ b/pages/nestjs-cls-translation/index.md @@ -1,3 +1,71 @@ --- displayed_sidebar: docs +title: "@hodfords/nestjs-cls-translation" --- +

+ Hodfords Logo +

+ +

nestjs-cls-translation provides context-aware translations in NestJS applications using Context-Local Storage (CLS), making it easier to manage and access locale-specific data across different parts of your application.

+ +## Installation πŸ€– + +Install the `nestjs-cls-translation` package with: + +```bash +npm install @hodfords/nestjs-cls-translation --save +``` + +You'll need to configure the translation module by adding it to your NestJS app's module setup. Here’s how you can configure it: + +```typescript +TranslationModule.forRoot({ + fallbackLanguage: 'en', + parser: I18nJsonParser, + parserOptions: { + path: path.join(env.ROOT_PATH, 'i18n/'), + watch: true + }, + resolvers: [new HeaderResolver(['language'])] +}); +``` + +## Usage πŸš€ + +#### Translation Functions + +To translate a specific key, use the trans function, passing the key for the translation string you wish to fetch: + +```typescript +const translatedText = trans('error.an_error_occurred') +``` + +This will return the translated string based on the user's current language, or the fallback language if no specific translation exists for the user's language. + +#### Get Current Language + +To retrieve the language currently being used in the context of a request, use the `currentLanguage()` function: + +```typescript +const currentLang = currentLanguage() +``` + +#### Get Default Language + +If you need to access the application's default or fallback language (set in the module configuration), use the `defaultLanguage()` function: + +```typescript +const defaultLang = defaultLanguage() +``` + +#### Run with a Specific Language Context + +You may want to execute certain parts of your code in a specific language context. The runInLanguage() function allows you to run a block of code under a designated language context, overriding the current language: + +```typescript +await runInLanguage('en', () => {...}); +``` + +## License πŸ“ + +This project is licensed under the MIT License