dhis2-i18n
v1.0.1
Published
configuration wrapper for i18next translations
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-i18nExample
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');