Extend i18next to load translations as { namespace: { key: { lang1: value1, lang2: value2 } } }
Using fcoo/promise-get to read json-data
bower install https://github.com/FCOO/i18next-phrases.git --save
http://FCOO.github.io/i18next-phrases/demo/
Default 1-dim json-structure for i18next is lang->namespace->key:
{
lang1: {
namespace1: {
key1: value1-1-1,
key2: value1-1-2
},
namespace2: {
key1: value1-2-1,
key2: value1-2-2
}
},
lang2: {
namespace1: {
key1: value2-1-1,
key2: value2-1-2
},
namespace2: {
key1: value2-2-1,
key2: value2-2-2
}
}
}
To make adding translation easier two new formats are supported:
{
namespace1: {
key1: {
lang1: value1-1-1,
lang2: value2-1-1
},
key2: {
lang1: value1-1-2,
lang2: value2-1-2
}
},
namespace2: {
key1: {
lang1: value1-2-1,
lang2: value2-2-1
},
key2: {
lang1: value1-2-2,
lang2: value2-2-2
}
}
}
{
key1: {
namespace1: {
lang1: value1-1-1,
lang2: value2-1-1
},
namespace2: {
lang1: value1-2-1,
lang2: value2-2-1
}
},
key2: {
namespace1: {
lang1: value1-1-2,
lang2: value2-1-2
},
namespace2: {
lang1: value1-2-2,
lang2: value2-2-2
}
}
}
The following methods are added to i18next.
key {string} can be a combined namespace:key string.
langValues = { [lang: value]xN }
keyLangValues = { key: { [lang: value]xN }, key2: { [lang: value]xN } }
namespaceKeyLangValues = {
namespace1: {
key1: { [lang: value]xN },
key2: { [lang: value]xN }
},
namespace2:{
...
}
}
options contains functions to handle error and finish. See fcoo/promise-get
langValues = { [lang: value]xN }
namespaceLangValues = { namespace1: { [lang: value]xN }, namespace2: { [lang: value]xN } }
keyNamespaceLangValues = {
key1: {
namespace1: { [lang: value]xN },
namespace2: { [lang: value]xN }
},
key2:{
...
}
}`
options contains functions to handle error and finish. See fcoo/promise-get
langValues = { {lang: value}xN }
A single translation of a phrase. No key used or added. E.g.
i18next.sentence({ da:'Dette er på dansk', en:'This is ín English'})
Same as i18next.sentence
langValues = { {lang: value}xN }
A join of translations phrases in and array. E.g.
i18next.sentenceArray([{ da:'Dette er på dansk', en:'This is ín English'}, 1234, { da:'Slut', en:'The end'}, '_')
This plugin is licensed under the MIT license.
Copyright (c) 2017 FCOO
Niels Holt nho@fcoo.dk