A localization utility for JavaScript that comes with support for React and React Native.
Table of Contents
Installation/Setup
With Yarn (Recommended)
yarn add langutil
With NPM
npm i langutil
With UNPKG:
<script src="https://unpkg.com/langutil@<VERSION>/lib/umd/index.js" crossorigin></script>
Note: Replace index.js
with index.min.js
when deploying.
Basic Usage
Initialization
import { LangutilCore } from 'langutil'
const dictionary = {
en: {
GOOD_MORNING: 'Good morning',
GOOD_MORNING_NAME: 'Good morning, {:name}.',
GOOD_MORNING_PNAME: 'Good morning, %p.',
GOOD_MORNING_NAME_AND_NAME: 'Good morning, {:name1} and {:name2}.',
},
id: {
GOOD_MORNING: 'Selamat pagi.',
GOOD_MORNING_NAME: 'Selamat pagi, {:name}.',
GOOD_MORNING_PNAME: 'Selamat pagi, %p.',
GOOD_MORNING_NAME_AND_NAME: 'Selamat pagi, {:name1} dan {:name2}.',
},
}
const core = new LangutilCore(dictionary, 'en', { auto: true })
Set language
core.setLanguage('en', { auto: true })
core.setLanguage('en')
Get language
core.getLanguage()
Get Localized Content
Basic
core.localize('GOOD_MORNING')
With Dynamic Values
core.localize('GOOD_MORNING_NAME_AND_NAME', {
name1: 'John',
name2: 'Jane',
})
core.localize('GOOD_MORNING_PNAME', ['John'])
Alternative Syntax
Instead of spreading the parameters, you can pass an object like this:
const localizedValue = core.localize({
keyword: 'GOOD_MORNING_NAME_AND_NAME',
param: {
name1: 'John',
name2: 'Jane',
}
})
Further Reading
Support Me