diff --git a/i18next/i18next-tests.ts b/i18next/i18next-tests.ts index b1732de11..741f12982 100644 --- a/i18next/i18next-tests.ts +++ b/i18next/i18next-tests.ts @@ -665,6 +665,24 @@ describe('i18next', function () { }); + describe('adding resources after initialisation', function () { + + var frResource = { 'simple_fr': 'ok_from_fr' }; + var enResource = { 'simple_en': 'ok_from_en' }; + + beforeEach(function (done) { + i18n.init({ resStore: {} }, + function (t) { done(); }); + }); + + it('it should use resources for translation added after initialisation', function () { + i18n.addResources('fr', 'translation', frResource); + i18n.addResources('en', 'translation', enResource); + expect(i18n.t('simple_fr', { lng: 'fr' })).to.be('ok_from_fr'); + expect(i18n.t('simple_en', { lng: 'en' })).to.be('ok_from_en'); + }); + + }); }); describe('translation functionality', function () { diff --git a/i18next/i18next.d.ts b/i18next/i18next.d.ts index 3463f2426..f39095459 100644 --- a/i18next/i18next.d.ts +++ b/i18next/i18next.d.ts @@ -67,6 +67,7 @@ interface I18nextOptions { interface I18nextStatic { addPostProcessor(name: string, fn: (value: any, key: string, options: any) => string): void; + addResources(language: string, namespace: string, resources: IResourceStoreKey): void; detectLanguage(): string; functions: { extend(target: any, ...objs: any[]): Object; @@ -130,4 +131,8 @@ declare var i18n: I18nextStatic; declare module 'i18next' { export = i18n; +} + +declare module 'i18next-client' { + export = i18n; } \ No newline at end of file