@hodfords/nestjs-cls-translation
v10.1.2
Published
Provides context-aware translations in NestJS using CLS
Downloads
1,671
Readme
Installation 🤖
Install the nestjs-cls-translation
package with:
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:
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:
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:
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:
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:
await runInLanguage('en', () => {...});
License 📝
This project is licensed under the MIT License