Skip to content
/ Intl Public

šŸŒ Simple package to internationalize messages for Node.js

License

Notifications You must be signed in to change notification settings

SecJS/Intl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Ā 

History

12 Commits
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 

Repository files navigation

Intl šŸŒ

Very simple Intl support for NodeJS Applications

GitHub followers GitHub stars

Buy Me A Coffee

GitHub language count Repository size License Commitizen

The intention behind this repository is to always maintain a viable and simple internationalization package to use in any type of NodeJS Framework.

Installation

To use the high potential from this package you need to install first this other packages from SecJS, it keeps as dev dependency because one day @secjs/core will install everything once.

npm install @secjs/contracts @secjs/exceptions @secjs/utils
npm install @secjs/intl

Usage

Sntl

Format messages using json files inside resources/locales folder. Is extremely important to create the folder resources/locales in the project root, and inside you need to create the folders for each language, example: resources/locales/en-us.

resources/locales/en-us/messages.json

{
  "greeting": "Hello!, my name is {{name}}!"
}

resources/locales/pt-br/messages.json

{
  "greeting": "OlĆ”!, meu nome Ć© {{name}}!"
}
import { Sntl } from '@secjs/intl'

// First set the defaultLocale and call load, 
// to get all files inside resources folder.

// Now you can call Sntl anywhere and use as you want.
await new Sntl.setDefaultLocale('en-us').load()

Sntl.formatMessage('messages.greeting', { name: 'JoĆ£o' }) 
// 'Hello!, my name is JoĆ£o!'

// Use forLocale to call for a specific locale in runtime
Sntl.forLocale('pt-br').formatMessage('messages.greeting', { 
  name: 'JoĆ£o',
}) // 'OlĆ”!, meu nome Ć© JoĆ£o!'

Sntl.forLocale('en-us').formatMessage('messages.greeting', { 
  name: 'JoĆ£o',
}) // 'Hello!, my name is JoĆ£o!'

// Use changeLocale to change the defaultLocale in runtime
Sntl.changeLocale('pt-br').formatMessage('messages.greeting', { 
  name: 'JoĆ£o',
}) 
// 'OlĆ”!, meu nome Ć© JoĆ£o!'

Sntl.forLocale('en-us').formatMessage('messages.greeting', {
  name: 'JoĆ£o',
}) // 'Hello!, my name is JoĆ£o!'

// Use list to get all keys inside the json file
Sntl.list('stub', { name: 'JoĆ£o' }) // { test: 'Hello!, my name is JoĆ£o!' }

License

Made with šŸ–¤ by jlenon7 šŸ‘‹