fix issue with format containing formatSeparator for interpolation formatting
3.4.0
adds formatting 'format this: {{var, formatRule}}' having a function on options.interpolation.format: function(value, format, lng) { return value } like suggested here #774
3.3.1
fixed an issue with several unescaped key in the interpolation string #746
adds api function i18next.reloadResources(), i18next.reloadResources(lngs, ns) to trigger a reload of translations
3.1.0
emits missingKey always (like console.log) even if saveMissing is of -> use missingKeyHandler if you only want the trigger only on saveMissing: true
3.0.0
[BREAKING] per default i18next uses now the same index as used in gettext for plurals. eg. for arabic suffixes are 0,1,2,3,4,5 instead of 0,1,2,3,11,100. You can enforce old behaviour by setting compatibilityJSON = 'v2' on i18next init.
change build chain to use rollup...allows 'js:next' and reduces build from 45kb to 33kb minified (/lib --> /dist/commonjs folder, new /dist/es for rollup,...)
fixes detection when using both context and pluralization and context not found. #851
2.2.0
return instance after init for further chaning
make init optional on backend, cache
package.json entry points now to /lib not to mangled version...this might be the better solution for most use cases (build chains built on npm, webpack, browserify, node,...)
2.1.0
allow keySeparator, nsSeparator = false to turn that off
2.0.26
extended emitted arguments on 'added' event
2.0.24
fixes unneeded reload of resources that failed to load
2.0.23
fixes returnObjects in case of multiple namespaces
2.0.22
add options for context, pluralSeparator
2.0.21
clear done load request in backendConnector
2.0.20
pass full options to detectors as third arg
2.0.19
do not callback err in backendConnector if no backend is specified
2.0.18
check for fallbackLng exist
2.0.17
adds cimode to options.whitelist if set
emits failedLoading on load error
2.0.16
adds addResource to i18next API
fix init of i18next without options, callback
2.0.15
avoid loading of resources for lng=cimode
2.0.14
enhance callback on load from backend...wait for pendings
2.0.10
fixing build chain
do not post process on nested translation resolve
2.0.5
fixing allow nesting on interpolated nesting vars
2.0.4
don't log lng changed if no lng was detected
extend result on arrayJoins
2.0.1
assert defaults are arrays where needed
assert calling lngUtils.toResolveHierarchy does not add undefined as code if called without code param
save resources to localStorage when useLocaleStore is true
add support on key is a number
added getResourceBundle to API
allow multiple post-processors
fallback to singular if no plural is found fixes issue issue 356
access localstorage always with try catch fixes issue issue 353
1.7.7
fixes issue with stack overflow on t(lng, count)
fixes empty value fallback when processing secondary ns
1.7.6
fixes lng detection (i18next-client on npm)
1.7.5
adds option to define defaultOptions, which gets merged into t(options) issue 307
optimization of size added by plural rules
handle error on json parse when using internal xhr
fixes plural/singular on count if going on fallbacks eg. fr --> en
fixes global leak of sync in amd versions
apply options.lowerCaseLng to fallbackLng too
added hasResourceBundle(lng, ns) to check if bundle exists
added experimental i18n.sync.reload --> resets resStore and reloads resources
catch issues with localStorage quota
changes detectlanguage to support whitelist entries
1.7.4
add resource bundle gets deep extend flag i18n.addResourceBundle(lng, ns, { 'deep': { 'key2': 'value2' }}, true);
new functions to add one key value or multiple i18n.addResource(lng, ns, key, value);, i18n.addResources(lng, ns, {'key1': 'value1', 'deep.key2': 'value2'});
lngWhitelist merged
override postMissing function
allow floats for count
added indefinite functionality for plurals
optional set replacing vars to replace member to avoid collision with other options
experimental optional detectLngFromLocalStorage
fix for norwegian language
1.7.3
solves issue with ie8 not providing .trim function on string -> added to shim
set data using $(selector).i18n() on data-i18n='[data-someDataAttr]key'
more bullet proof state handling on failed file load
fixes namespace array settings if loaded resourcebundle or additional namespaces
lookup of not existend resouces can be fallbacked to other namespaces - see option fallbackNS (array or string if one ns to fallback to)
defaultValues get postProcessed
BREAKING: per default null values in resources get translated to fallback. This can be changed by setting option fallbackOnNull to false
PR #81 added support for passing options to nested resources
PR #88 added an exists method to check for the existence of a key in the resource store
fixed issue with null value throws in applyReplacement function
fixed issue #80 empty string lookup ends in fallback instead of returning result in language
fixed issue with null value in resources not returning expected value
optimized tests to use on server (nodejs) too
allow zepto as drop in replacement for $
using testacular as runner
upgraded to grunt 0.4.0
fixed optional interpolation prefix/suffix not used in plural translation cases
optimized check if there are multiple keys for the data-i18n attribute to parse
1.6.0
option to specify target to set attributes with jquery function by using 'data-i18n-target attribute'
function to set new options for nesting functionality
function to add resources after init
option to lookup in default namespace if value is not found in given namespace
option to change interpolation prefix and suffix via translation options
fixed issue with using ns/keyseparator on plurals, context,...
fixed issue with posting missing when not using jquery
post missing in correct lng if lng is given in translation options
proper usage of deferred object in init function
fixed issue replacing values in objectTree
1.5.10
BREAKING: fixed plural rules for languages with extended plural forms (more than 2 forms)
merged pull #61 - custom loader (enables jsonp or other loading custom loading strategies)
escaping interpolation prefix/suffix for proper regex replace
1.5.9
functions to load additional namespaces after init and to set default namespace to something else
set if you don't want to read defaultValues from content while using jquery fc
set dataAttribute to different value
set cookieName to different value
some smallbugfixes
typesafe use of console if in debug mode
1.5.8
disable cookie usage by setting init option useCookie to false
accept empty string as translation value
fixed bug in own ajax implementation not using proper sendType
fixed bug for returning objTree in combination with namespace
fixed bug in plurals of romanic lngs
1.5.7
pass namespace in t() options
interpolation nesting
changable querystring param to look language up from
1.5.6
typesafe check for window, document existance
runnable under rhino
seperated amd builds with/without jquery
1.5.5
BREAKING added all plurals: suffixes will new be same as in gettext usage (number indexes key_plural_0|2|3|4|5|7|8|10|11|20|100), additional if needed signature of addRule has changed
added sprintf as postprocessor -> postProcess = 'sprintf' and sprintf = obj or array
set default postProcessor on init
redone build process with grunt
drop in replacement for jquery each, extend, ajax
setting fallbackLng to false will stop loading and looking it up
option to load only current or unspecific language files
1.5.0
pass options to sync._fetchOne, use options for fetching
support for i18next-webtranslate
1.4.1
post processor
BREAKING: localStorage defaults to false
added localStorageExpirationTime for better caching control
few bug fixes
1.4.0
preload multiple languages
translate key to other language than current
fixed issue with namespace usage in combination with context and plurals
more options to send missing values
better amd support
1.3.4
set type of ajax request to GET (options sendType: default POST)
set cookie expiration (options cookieExpirationTime: in minutes)