New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

i21n

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

i21n

Tiny internationalization library for Node and the Browser

latest
Source
npmnpm
Version
1.2.0
Version published
Weekly downloads
176
91.3%
Maintainers
1
Weekly downloads
 
Created
Source

i21n

Build Status NPM module Join the chat at https://discord.gg/PBAR2Bz Follow on Twitter

Tiny string internationalization and interpolation library.

Features:

  • Named-variable interpolation
  • Flexible configuration format
  • Set default and fallback locale
  • Load additional locale data at any time
  • Works in Node.js and browser
  • Small, no external dependencies

Install

npm install i21n

Usage

const i21n = require('i21n')

const i21n = new i21n({
  /* Basic */
  'hello.world': 'Hello world',
  /* With variables */
  'hello.fullname': 'Hello {name}, your full name is {name} {surname}',
  /* Nested */
  'hello.world.and': {
    'goodbye': {
      'name': 'Hello world, goodbye {name}'
    }
  }
})

// "Hello world"
i21n.t('hello.world')

// "Hello Ram, your full name is Ram Bo"
i21n.t('hello.fullname', {
  name: 'Ram',
  surname: 'Bo'
})

// "Hello world, goodbye Ram"
i21n.t('hello.world.and.goodbye.name', {
  name: 'Ram'
})

Different language translation versions (i.e. locales):

const i21n = new i21n({
  'good': {
    'day': {
      'en-gb': 'Good day {name}',
      'de': 'Guten tag {name}'
    }
  },
  'my': {
    'name.is': {
      'en-gb': 'My name is {name}',
      'zh-TW': '我叫{name}'
    }
  }    
}, {
  /** Locale to use when not explicitly specified or when specified locale version not found */
  defaultLocale: 'en-gb'
})

// Default locale
// "Good day Ram"
i21n.t('good.day', {
  name: 'Ram'
})

// Override with a specific locale
// "Guten tag Ram"
i21n.t('good.day', {
  name: 'Ram'
}, {
  locale: 'de'
})

// Override with a specific locale for which there is no string - it uses the default locale instead!
// "My name is Ram"
i21n.t('my.name.is', {
  name: 'Ram',
  locale: 'de'
})

// Load additional locale data
i21n.loadLocale('zh-CN', {
  'good': {
    'day': '你好{name}',
  },
})
// "你好Ram"
i21n.t('good.day', {
  name: 'Ram'
}, {
  locale: 'zh-CN'
})

License

MIT - see LICENSE.md

Keywords

i18n

FAQs

Package last updated on 09 Apr 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts