dhis2-i18n
v1.0.1
Published
configuration wrapper for i18next translations
Downloads
2
Readme
About
It has default configuration related to Dhis2 project. Upon import i18n is an abstraction on top of i18next library
Install
npm install --save dhis2-i18n
Example
import i18n from 'dhis2-i18n'
import enResources from './i18n/resources/en'
import urResources from './i18n/resources/ur'
// add all languages necessary
i18n.addResources('en', 'translations-app', enResources)
i18n.addResources('ur', 'translations-app', urResources)
i18n.setDefaultNamespace('translations-app')
i18n.changeLanguage('en')
i18n.t('translation string') // translation string
i18n.changeLanguage('ur')
i18n.t('translation string') // سٹرنگ کا ترجمعہ
Import
import i18n from 'dhis2-i81n'
Add Language
i18n.addResources(lng, ns, resources)
where,
lng: refers to the language e.g. en, no etc.
ns: Each frontend app will be namespaced. So we don't run into translation conflicts across apps.
resources: set of key value pairs representing a javascript object.
To set the correct namespace in translation resources, the following format will be adopted.
"resources": {
"en": {
"frontend-app-name": {
"translation string": "translation string"
}
},
"ur": {
"frontend-app-name": {
"translation string": "سٹرنگ کا ترجمعہ"
}
}
}
Set Namespace
i18n.setDefaultNamespace(ns)
for e.g. translations-app the ns value would be translations-app
Change/Set Language
will set the current language for frontend app.
i18n.changeLanguage(lng)
In Code
String passed into i18n.t will translate text w.r.t. current language set.
i18n.t('translation string');