react-i18next 12.0.0 → 12.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/README.md +1 -1
- package/TransWithoutContext.d.ts +33 -0
- package/dist/amd/react-i18next.js +178 -133
- package/dist/amd/react-i18next.min.js +1 -1
- package/dist/commonjs/Trans.js +26 -243
- package/dist/commonjs/TransWithoutContext.js +288 -0
- package/dist/commonjs/context.js +39 -46
- package/dist/commonjs/defaults.js +37 -0
- package/dist/commonjs/i18nInstance.js +16 -0
- package/dist/commonjs/index.js +8 -0
- package/dist/commonjs/initReactI18next.js +19 -0
- package/dist/es/Trans.js +22 -242
- package/dist/es/TransWithoutContext.js +272 -0
- package/dist/es/context.js +5 -33
- package/dist/es/defaults.js +24 -0
- package/dist/es/i18nInstance.js +7 -0
- package/dist/es/index.js +1 -0
- package/dist/es/initReactI18next.js +9 -0
- package/dist/umd/react-i18next.js +178 -133
- package/dist/umd/react-i18next.min.js +1 -1
- package/index.d.ts +2 -32
- package/initReactI18next.d.ts +3 -0
- package/package.json +22 -4
- package/react-i18next.js +178 -133
- package/react-i18next.min.js +1 -1
- package/src/Trans.js +18 -316
- package/src/TransWithoutContext.js +343 -0
- package/src/context.js +4 -40
- package/src/defaults.js +22 -0
- package/src/i18nInstance.js +9 -0
- package/src/index.js +1 -0
- package/src/initReactI18next.js +11 -0
- package/tslint.json +2 -1
|
@@ -318,126 +318,6 @@
|
|
|
318
318
|
}
|
|
319
319
|
};
|
|
320
320
|
|
|
321
|
-
var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;
|
|
322
|
-
var htmlEntities = {
|
|
323
|
-
'&': '&',
|
|
324
|
-
'&': '&',
|
|
325
|
-
'<': '<',
|
|
326
|
-
'<': '<',
|
|
327
|
-
'>': '>',
|
|
328
|
-
'>': '>',
|
|
329
|
-
''': "'",
|
|
330
|
-
''': "'",
|
|
331
|
-
'"': '"',
|
|
332
|
-
'"': '"',
|
|
333
|
-
' ': ' ',
|
|
334
|
-
' ': ' ',
|
|
335
|
-
'©': '©',
|
|
336
|
-
'©': '©',
|
|
337
|
-
'®': '®',
|
|
338
|
-
'®': '®',
|
|
339
|
-
'…': '…',
|
|
340
|
-
'…': '…',
|
|
341
|
-
'/': '/',
|
|
342
|
-
'/': '/'
|
|
343
|
-
};
|
|
344
|
-
|
|
345
|
-
var unescapeHtmlEntity = function unescapeHtmlEntity(m) {
|
|
346
|
-
return htmlEntities[m];
|
|
347
|
-
};
|
|
348
|
-
|
|
349
|
-
var unescape = function unescape(text) {
|
|
350
|
-
return text.replace(matchHtmlEntity, unescapeHtmlEntity);
|
|
351
|
-
};
|
|
352
|
-
|
|
353
|
-
var defaultOptions = {
|
|
354
|
-
bindI18n: 'languageChanged',
|
|
355
|
-
bindI18nStore: '',
|
|
356
|
-
transEmptyNodeValue: '',
|
|
357
|
-
transSupportBasicHtmlNodes: true,
|
|
358
|
-
transWrapTextNodes: '',
|
|
359
|
-
transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],
|
|
360
|
-
useSuspense: true,
|
|
361
|
-
unescape: unescape
|
|
362
|
-
};
|
|
363
|
-
var i18nInstance;
|
|
364
|
-
var I18nContext = react.createContext();
|
|
365
|
-
function setDefaults() {
|
|
366
|
-
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
367
|
-
defaultOptions = _objectSpread2(_objectSpread2({}, defaultOptions), options);
|
|
368
|
-
}
|
|
369
|
-
function getDefaults() {
|
|
370
|
-
return defaultOptions;
|
|
371
|
-
}
|
|
372
|
-
var ReportNamespaces = function () {
|
|
373
|
-
function ReportNamespaces() {
|
|
374
|
-
_classCallCheck(this, ReportNamespaces);
|
|
375
|
-
|
|
376
|
-
this.usedNamespaces = {};
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
_createClass(ReportNamespaces, [{
|
|
380
|
-
key: "addUsedNamespaces",
|
|
381
|
-
value: function addUsedNamespaces(namespaces) {
|
|
382
|
-
var _this = this;
|
|
383
|
-
|
|
384
|
-
namespaces.forEach(function (ns) {
|
|
385
|
-
if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;
|
|
386
|
-
});
|
|
387
|
-
}
|
|
388
|
-
}, {
|
|
389
|
-
key: "getUsedNamespaces",
|
|
390
|
-
value: function getUsedNamespaces() {
|
|
391
|
-
return Object.keys(this.usedNamespaces);
|
|
392
|
-
}
|
|
393
|
-
}]);
|
|
394
|
-
|
|
395
|
-
return ReportNamespaces;
|
|
396
|
-
}();
|
|
397
|
-
function setI18n(instance) {
|
|
398
|
-
i18nInstance = instance;
|
|
399
|
-
}
|
|
400
|
-
function getI18n() {
|
|
401
|
-
return i18nInstance;
|
|
402
|
-
}
|
|
403
|
-
var initReactI18next = {
|
|
404
|
-
type: '3rdParty',
|
|
405
|
-
init: function init(instance) {
|
|
406
|
-
setDefaults(instance.options.react);
|
|
407
|
-
setI18n(instance);
|
|
408
|
-
}
|
|
409
|
-
};
|
|
410
|
-
function composeInitialProps(ForComponent) {
|
|
411
|
-
return function (ctx) {
|
|
412
|
-
return new Promise(function (resolve) {
|
|
413
|
-
var i18nInitialProps = getInitialProps();
|
|
414
|
-
|
|
415
|
-
if (ForComponent.getInitialProps) {
|
|
416
|
-
ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {
|
|
417
|
-
resolve(_objectSpread2(_objectSpread2({}, componentsInitialProps), i18nInitialProps));
|
|
418
|
-
});
|
|
419
|
-
} else {
|
|
420
|
-
resolve(i18nInitialProps);
|
|
421
|
-
}
|
|
422
|
-
});
|
|
423
|
-
};
|
|
424
|
-
}
|
|
425
|
-
function getInitialProps() {
|
|
426
|
-
var i18n = getI18n();
|
|
427
|
-
var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];
|
|
428
|
-
var ret = {};
|
|
429
|
-
var initialI18nStore = {};
|
|
430
|
-
i18n.languages.forEach(function (l) {
|
|
431
|
-
initialI18nStore[l] = {};
|
|
432
|
-
namespaces.forEach(function (ns) {
|
|
433
|
-
initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};
|
|
434
|
-
});
|
|
435
|
-
});
|
|
436
|
-
ret.initialI18nStore = initialI18nStore;
|
|
437
|
-
ret.initialLanguage = i18n.language;
|
|
438
|
-
return ret;
|
|
439
|
-
}
|
|
440
|
-
|
|
441
321
|
function warn() {
|
|
442
322
|
if (console && console.warn) {
|
|
443
323
|
var _console;
|
|
@@ -521,6 +401,64 @@
|
|
|
521
401
|
return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');
|
|
522
402
|
}
|
|
523
403
|
|
|
404
|
+
var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;
|
|
405
|
+
var htmlEntities = {
|
|
406
|
+
'&': '&',
|
|
407
|
+
'&': '&',
|
|
408
|
+
'<': '<',
|
|
409
|
+
'<': '<',
|
|
410
|
+
'>': '>',
|
|
411
|
+
'>': '>',
|
|
412
|
+
''': "'",
|
|
413
|
+
''': "'",
|
|
414
|
+
'"': '"',
|
|
415
|
+
'"': '"',
|
|
416
|
+
' ': ' ',
|
|
417
|
+
' ': ' ',
|
|
418
|
+
'©': '©',
|
|
419
|
+
'©': '©',
|
|
420
|
+
'®': '®',
|
|
421
|
+
'®': '®',
|
|
422
|
+
'…': '…',
|
|
423
|
+
'…': '…',
|
|
424
|
+
'/': '/',
|
|
425
|
+
'/': '/'
|
|
426
|
+
};
|
|
427
|
+
|
|
428
|
+
var unescapeHtmlEntity = function unescapeHtmlEntity(m) {
|
|
429
|
+
return htmlEntities[m];
|
|
430
|
+
};
|
|
431
|
+
|
|
432
|
+
var unescape = function unescape(text) {
|
|
433
|
+
return text.replace(matchHtmlEntity, unescapeHtmlEntity);
|
|
434
|
+
};
|
|
435
|
+
|
|
436
|
+
var defaultOptions = {
|
|
437
|
+
bindI18n: 'languageChanged',
|
|
438
|
+
bindI18nStore: '',
|
|
439
|
+
transEmptyNodeValue: '',
|
|
440
|
+
transSupportBasicHtmlNodes: true,
|
|
441
|
+
transWrapTextNodes: '',
|
|
442
|
+
transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],
|
|
443
|
+
useSuspense: true,
|
|
444
|
+
unescape: unescape
|
|
445
|
+
};
|
|
446
|
+
function setDefaults() {
|
|
447
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
448
|
+
defaultOptions = _objectSpread2(_objectSpread2({}, defaultOptions), options);
|
|
449
|
+
}
|
|
450
|
+
function getDefaults() {
|
|
451
|
+
return defaultOptions;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
var i18nInstance;
|
|
455
|
+
function setI18n(instance) {
|
|
456
|
+
i18nInstance = instance;
|
|
457
|
+
}
|
|
458
|
+
function getI18n() {
|
|
459
|
+
return i18nInstance;
|
|
460
|
+
}
|
|
461
|
+
|
|
524
462
|
var _excluded = ["format"],
|
|
525
463
|
_excluded2 = ["children", "count", "parent", "i18nKey", "context", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
|
|
526
464
|
|
|
@@ -741,11 +679,7 @@
|
|
|
741
679
|
shouldUnescape = _ref.shouldUnescape,
|
|
742
680
|
additionalProps = _objectWithoutProperties(_ref, _excluded2);
|
|
743
681
|
|
|
744
|
-
var
|
|
745
|
-
i18nFromContext = _ref2.i18n,
|
|
746
|
-
defaultNSFromContext = _ref2.defaultNS;
|
|
747
|
-
|
|
748
|
-
var i18n = i18nFromProps || i18nFromContext || getI18n();
|
|
682
|
+
var i18n = i18nFromProps || getI18n();
|
|
749
683
|
|
|
750
684
|
if (!i18n) {
|
|
751
685
|
warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');
|
|
@@ -760,7 +694,7 @@
|
|
|
760
694
|
|
|
761
695
|
var reactI18nextOptions = _objectSpread2(_objectSpread2({}, getDefaults()), i18n.options && i18n.options.react);
|
|
762
696
|
|
|
763
|
-
var namespaces = ns || t.ns ||
|
|
697
|
+
var namespaces = ns || t.ns || i18n.options && i18n.options.defaultNS;
|
|
764
698
|
namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];
|
|
765
699
|
var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;
|
|
766
700
|
var hashTransKey = reactI18nextOptions.hashTransKey;
|
|
@@ -785,6 +719,116 @@
|
|
|
785
719
|
return useAsParent ? react.createElement(useAsParent, additionalProps, content) : content;
|
|
786
720
|
}
|
|
787
721
|
|
|
722
|
+
var initReactI18next = {
|
|
723
|
+
type: '3rdParty',
|
|
724
|
+
init: function init(instance) {
|
|
725
|
+
setDefaults(instance.options.react);
|
|
726
|
+
setI18n(instance);
|
|
727
|
+
}
|
|
728
|
+
};
|
|
729
|
+
|
|
730
|
+
var I18nContext = react.createContext();
|
|
731
|
+
var ReportNamespaces = function () {
|
|
732
|
+
function ReportNamespaces() {
|
|
733
|
+
_classCallCheck(this, ReportNamespaces);
|
|
734
|
+
|
|
735
|
+
this.usedNamespaces = {};
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
_createClass(ReportNamespaces, [{
|
|
739
|
+
key: "addUsedNamespaces",
|
|
740
|
+
value: function addUsedNamespaces(namespaces) {
|
|
741
|
+
var _this = this;
|
|
742
|
+
|
|
743
|
+
namespaces.forEach(function (ns) {
|
|
744
|
+
if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;
|
|
745
|
+
});
|
|
746
|
+
}
|
|
747
|
+
}, {
|
|
748
|
+
key: "getUsedNamespaces",
|
|
749
|
+
value: function getUsedNamespaces() {
|
|
750
|
+
return Object.keys(this.usedNamespaces);
|
|
751
|
+
}
|
|
752
|
+
}]);
|
|
753
|
+
|
|
754
|
+
return ReportNamespaces;
|
|
755
|
+
}();
|
|
756
|
+
function composeInitialProps(ForComponent) {
|
|
757
|
+
return function (ctx) {
|
|
758
|
+
return new Promise(function (resolve) {
|
|
759
|
+
var i18nInitialProps = getInitialProps();
|
|
760
|
+
|
|
761
|
+
if (ForComponent.getInitialProps) {
|
|
762
|
+
ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {
|
|
763
|
+
resolve(_objectSpread2(_objectSpread2({}, componentsInitialProps), i18nInitialProps));
|
|
764
|
+
});
|
|
765
|
+
} else {
|
|
766
|
+
resolve(i18nInitialProps);
|
|
767
|
+
}
|
|
768
|
+
});
|
|
769
|
+
};
|
|
770
|
+
}
|
|
771
|
+
function getInitialProps() {
|
|
772
|
+
var i18n = getI18n();
|
|
773
|
+
var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];
|
|
774
|
+
var ret = {};
|
|
775
|
+
var initialI18nStore = {};
|
|
776
|
+
i18n.languages.forEach(function (l) {
|
|
777
|
+
initialI18nStore[l] = {};
|
|
778
|
+
namespaces.forEach(function (ns) {
|
|
779
|
+
initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};
|
|
780
|
+
});
|
|
781
|
+
});
|
|
782
|
+
ret.initialI18nStore = initialI18nStore;
|
|
783
|
+
ret.initialLanguage = i18n.language;
|
|
784
|
+
return ret;
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
var _excluded$1 = ["children", "count", "parent", "i18nKey", "context", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
|
|
788
|
+
function Trans$1(_ref) {
|
|
789
|
+
var children = _ref.children,
|
|
790
|
+
count = _ref.count,
|
|
791
|
+
parent = _ref.parent,
|
|
792
|
+
i18nKey = _ref.i18nKey,
|
|
793
|
+
context = _ref.context,
|
|
794
|
+
_ref$tOptions = _ref.tOptions,
|
|
795
|
+
tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,
|
|
796
|
+
values = _ref.values,
|
|
797
|
+
defaults = _ref.defaults,
|
|
798
|
+
components = _ref.components,
|
|
799
|
+
ns = _ref.ns,
|
|
800
|
+
i18nFromProps = _ref.i18n,
|
|
801
|
+
tFromProps = _ref.t,
|
|
802
|
+
shouldUnescape = _ref.shouldUnescape,
|
|
803
|
+
additionalProps = _objectWithoutProperties(_ref, _excluded$1);
|
|
804
|
+
|
|
805
|
+
var _ref2 = react.useContext(I18nContext) || {},
|
|
806
|
+
i18nFromContext = _ref2.i18n,
|
|
807
|
+
defaultNSFromContext = _ref2.defaultNS;
|
|
808
|
+
|
|
809
|
+
var i18n = i18nFromProps || i18nFromContext || getI18n();
|
|
810
|
+
|
|
811
|
+
var t = tFromProps || i18n.t.bind(i18n) || function (k) {
|
|
812
|
+
return k;
|
|
813
|
+
};
|
|
814
|
+
|
|
815
|
+
return Trans(_objectSpread2({
|
|
816
|
+
children: children,
|
|
817
|
+
count: count,
|
|
818
|
+
parent: parent,
|
|
819
|
+
i18nKey: i18nKey,
|
|
820
|
+
context: context,
|
|
821
|
+
tOptions: tOptions,
|
|
822
|
+
values: values,
|
|
823
|
+
defaults: defaults,
|
|
824
|
+
components: components,
|
|
825
|
+
ns: ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS,
|
|
826
|
+
i18n: i18n,
|
|
827
|
+
t: tFromProps,
|
|
828
|
+
shouldUnescape: shouldUnescape
|
|
829
|
+
}, additionalProps));
|
|
830
|
+
}
|
|
831
|
+
|
|
788
832
|
var usePrevious = function usePrevious(value, ignore) {
|
|
789
833
|
var ref = react.useRef();
|
|
790
834
|
react.useEffect(function () {
|
|
@@ -895,13 +939,13 @@
|
|
|
895
939
|
});
|
|
896
940
|
}
|
|
897
941
|
|
|
898
|
-
var _excluded$
|
|
942
|
+
var _excluded$2 = ["forwardedRef"];
|
|
899
943
|
function withTranslation(ns) {
|
|
900
944
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
901
945
|
return function Extend(WrappedComponent) {
|
|
902
946
|
function I18nextWithTranslation(_ref) {
|
|
903
947
|
var forwardedRef = _ref.forwardedRef,
|
|
904
|
-
rest = _objectWithoutProperties(_ref, _excluded$
|
|
948
|
+
rest = _objectWithoutProperties(_ref, _excluded$2);
|
|
905
949
|
|
|
906
950
|
var _useTranslation = useTranslation(ns, _objectSpread2(_objectSpread2({}, rest), {}, {
|
|
907
951
|
keyPrefix: options.keyPrefix
|
|
@@ -939,11 +983,11 @@
|
|
|
939
983
|
};
|
|
940
984
|
}
|
|
941
985
|
|
|
942
|
-
var _excluded$
|
|
986
|
+
var _excluded$3 = ["ns", "children"];
|
|
943
987
|
function Translation(props) {
|
|
944
988
|
var ns = props.ns,
|
|
945
989
|
children = props.children,
|
|
946
|
-
options = _objectWithoutProperties(props, _excluded$
|
|
990
|
+
options = _objectWithoutProperties(props, _excluded$3);
|
|
947
991
|
|
|
948
992
|
var _useTranslation = useTranslation(ns, options),
|
|
949
993
|
_useTranslation2 = _slicedToArray(_useTranslation, 3),
|
|
@@ -1000,13 +1044,13 @@
|
|
|
1000
1044
|
}
|
|
1001
1045
|
}
|
|
1002
1046
|
|
|
1003
|
-
var _excluded$
|
|
1047
|
+
var _excluded$4 = ["initialI18nStore", "initialLanguage"];
|
|
1004
1048
|
function withSSR() {
|
|
1005
1049
|
return function Extend(WrappedComponent) {
|
|
1006
1050
|
function I18nextWithSSR(_ref) {
|
|
1007
1051
|
var initialI18nStore = _ref.initialI18nStore,
|
|
1008
1052
|
initialLanguage = _ref.initialLanguage,
|
|
1009
|
-
rest = _objectWithoutProperties(_ref, _excluded$
|
|
1053
|
+
rest = _objectWithoutProperties(_ref, _excluded$4);
|
|
1010
1054
|
|
|
1011
1055
|
useSSR(initialI18nStore, initialLanguage);
|
|
1012
1056
|
return react.createElement(WrappedComponent, _objectSpread2({}, rest));
|
|
@@ -1040,7 +1084,8 @@
|
|
|
1040
1084
|
|
|
1041
1085
|
exports.I18nContext = I18nContext;
|
|
1042
1086
|
exports.I18nextProvider = I18nextProvider;
|
|
1043
|
-
exports.Trans = Trans;
|
|
1087
|
+
exports.Trans = Trans$1;
|
|
1088
|
+
exports.TransWithoutContext = Trans;
|
|
1044
1089
|
exports.Translation = Translation;
|
|
1045
1090
|
exports.composeInitialProps = composeInitialProps;
|
|
1046
1091
|
exports.date = date;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],n):n((e=e||self).ReactI18next={},e.React)}(this,(function(e,n){"use strict";function t(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function r(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?t(Object(r),!0).forEach((function(n){o(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}))}return e}function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function c(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}function s(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==t)return;var r,a,i=[],o=!0,c=!1;try{for(t=t.call(e);!(o=(r=t.next()).done)&&(i.push(r.value),!n||i.length!==n);o=!0);}catch(e){c=!0,a=e}finally{try{o||null==t.return||t.return()}finally{if(c)throw a}}return i}(e,n)||function(e,n){if(!e)return;if("string"==typeof e)return u(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return u(e,n)}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var l={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},f=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function p(e){var n={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},t=e.match(/<\/?([^\s]+?)[/\s>]/);if(t&&(n.name=t[1],(l[t[1]]||"/"===e.charAt(e.length-2))&&(n.voidElement=!0),n.name.startsWith("!--"))){var r=e.indexOf("--\x3e");return{type:"comment",comment:-1!==r?e.slice(4,r):""}}for(var a=new RegExp(f),i=null;null!==(i=a.exec(e));)if(i[0].trim())if(i[1]){var o=i[1].trim(),c=[o,""];o.indexOf("=")>-1&&(c=o.split("=")),n.attrs[c[0]]=c[1],a.lastIndex--}else i[2]&&(n.attrs[i[2]]=i[3].trim().substring(1,i[3].length-1));return n}var d=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,g=/^\s*$/,m=Object.create(null);var h,v=function(e,n){n||(n={}),n.components||(n.components=m);var t,r=[],a=[],i=-1,o=!1;if(0!==e.indexOf("<")){var c=e.indexOf("<");r.push({type:"text",content:-1===c?e:e.substring(0,c)})}return e.replace(d,(function(c,s){if(o){if(c!=="</"+t.name+">")return;o=!1}var u,l="/"!==c.charAt(1),f=c.startsWith("\x3c!--"),d=s+c.length,m=e.charAt(d);if(f){var h=p(c);return i<0?(r.push(h),r):((u=a[i]).children.push(h),r)}if(l&&(i++,"tag"===(t=p(c)).type&&n.components[t.name]&&(t.type="component",o=!0),t.voidElement||o||!m||"<"===m||t.children.push({type:"text",content:e.slice(d,e.indexOf("<",d))}),0===i&&r.push(t),(u=a[i-1])&&u.children.push(t),a[i]=t),(!l||t.voidElement)&&(i>-1&&(t.voidElement||t.name===c.slice(2,-1))&&(i--,t=-1===i?r:a[i]),!o&&"<"!==m&&m)){u=-1===i?r:a[i].children;var v=e.indexOf("<",d),y=e.slice(d,-1===v?void 0:v);g.test(y)&&(y=" "),(v>-1&&i+u.length>=0||" "!==y)&&u.push({type:"text",content:y})}})),r},y=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,b={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},O=function(e){return b[e]},x={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:function(e){return e.replace(y,O)}},w=n.createContext();function j(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};x=r(r({},x),e)}function E(){return x}var S=function(){function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.usedNamespaces={}}var n,t,r;return n=e,(t=[{key:"addUsedNamespaces",value:function(e){var n=this;e.forEach((function(e){n.usedNamespaces[e]||(n.usedNamespaces[e]=!0)}))}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}])&&i(n.prototype,t),r&&i(n,r),e}();function N(e){h=e}function k(){return h}var I={type:"3rdParty",init:function(e){j(e.options.react),N(e)}};function P(e){return function(n){return new Promise((function(t){var a=R();e.getInitialProps?e.getInitialProps(n).then((function(e){t(r(r({},e),a))})):t(a)}))}}function R(){var e=k(),n=e.reportNamespaces?e.reportNamespaces.getUsedNamespaces():[],t={},r={};return e.languages.forEach((function(t){r[t]={},n.forEach((function(n){r[t][n]=e.getResourceBundle(t,n)||{}}))})),t.initialI18nStore=r,t.initialLanguage=e.language,t}function C(){if(console&&console.warn){for(var e,n=arguments.length,t=new Array(n),r=0;r<n;r++)t[r]=arguments[r];"string"==typeof t[0]&&(t[0]="react-i18next:: ".concat(t[0])),(e=console).warn.apply(e,t)}}var T={};function A(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];"string"==typeof n[0]&&T[n[0]]||("string"==typeof n[0]&&(T[n[0]]=new Date),C.apply(void 0,n))}function L(e,n,t){e.loadNamespaces(n,(function(){if(e.isInitialized)t();else{e.on("initialized",(function n(){setTimeout((function(){e.off("initialized",n)}),0),t()}))}}))}function z(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.languages[0],a=!!n.options&&n.options.fallbackLng,i=n.languages[n.languages.length-1];if("cimode"===r.toLowerCase())return!0;var o=function(e,t){var r=n.services.backendConnector.state["".concat(e,"|").concat(t)];return-1===r||2===r};return!(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!o(n.isLanguageChangingTo,e))&&(!!n.hasResourceBundle(r,e)||(!(n.services.backendConnector.backend&&(!n.options.resources||n.options.partialBundledLanguages))||!(!o(r,e)||a&&!o(i,e))))}function B(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!n.languages||!n.languages.length)return A("i18n.languages were undefined or empty",n.languages),!0;var r=void 0!==n.options.ignoreJSONStructure;return r?n.hasLoadedNamespace(e,{precheck:function(n,r){if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!r(n.isLanguageChangingTo,e))return!1}}):z(e,n,t)}function U(e){return e.displayName||e.name||("string"==typeof e&&e.length>0?e:"Unknown")}var D=["format"],F=["children","count","parent","i18nKey","context","tOptions","values","defaults","components","ns","i18n","t","shouldUnescape"];function H(e,n){if(!e)return!1;var t=e.props?e.props.children:e.children;return n?t.length>0:!!t}function K(e){return e?e.props?e.props.children:e.children:[]}function V(e){return Array.isArray(e)?e:[e]}function W(e,t,i,o,c,s){if(""===t)return[];var u=o.transKeepBasicHtmlNodesFor||[],l=t&&new RegExp(u.join("|")).test(t);if(!e&&!l)return[t];var f={};!function e(t){V(t).forEach((function(t){"string"!=typeof t&&(H(t)?e(K(t)):"object"!==a(t)||n.isValidElement(t)||Object.assign(f,t))}))}(e);var p=v("<0>".concat(t,"</0>")),d=r(r({},f),c);function g(e,t,r){var a=K(e),i=h(a,t.children,r);return function(e){return"[object Array]"===Object.prototype.toString.call(e)&&e.every((function(e){return n.isValidElement(e)}))}(a)&&0===i.length?a:i}function m(e,t,a,i,o){e.dummy&&(e.children=t),a.push(n.cloneElement(e,r(r({},e.props),{},{key:i}),o?void 0:t))}function h(t,c,f){var p=V(t);return V(c).reduce((function(t,c,v){var y,b,O,x=c.children&&c.children[0]&&c.children[0].content&&i.services.interpolator.interpolate(c.children[0].content,d,i.language);if("tag"===c.type){var w=p[parseInt(c.name,10)];!w&&1===f.length&&f[0][c.name]&&(w=f[0][c.name]),w||(w={});var j=0!==Object.keys(c.attrs).length?(y={props:c.attrs},(O=r({},b=w)).props=Object.assign(y.props,b.props),O):w,E=n.isValidElement(j),S=E&&H(c,!0)&&!c.voidElement,N=l&&"object"===a(j)&&j.dummy&&!E,k="object"===a(e)&&null!==e&&Object.hasOwnProperty.call(e,c.name);if("string"==typeof j){var I=i.services.interpolator.interpolate(j,d,i.language);t.push(I)}else if(H(j)||S){m(j,g(j,c,f),t,v)}else if(N){var P=h(p,c.children,f);t.push(n.cloneElement(j,r(r({},j.props),{},{key:v}),P))}else if(Number.isNaN(parseFloat(c.name))){if(k)m(j,g(j,c,f),t,v,c.voidElement);else if(o.transSupportBasicHtmlNodes&&u.indexOf(c.name)>-1)if(c.voidElement)t.push(n.createElement(c.name,{key:"".concat(c.name,"-").concat(v)}));else{var R=h(p,c.children,f);t.push(n.createElement(c.name,{key:"".concat(c.name,"-").concat(v)},R))}else if(c.voidElement)t.push("<".concat(c.name," />"));else{var C=h(p,c.children,f);t.push("<".concat(c.name,">").concat(C,"</").concat(c.name,">"))}}else if("object"!==a(j)||E)1===c.children.length&&x?t.push(n.cloneElement(j,r(r({},j.props),{},{key:v}),x)):t.push(n.cloneElement(j,r(r({},j.props),{},{key:v})));else{var T=c.children[0]?x:null;T&&t.push(T)}}else if("text"===c.type){var A=o.transWrapTextNodes,L=s?o.unescape(i.services.interpolator.interpolate(c.content,d,i.language)):i.services.interpolator.interpolate(c.content,d,i.language);A?t.push(n.createElement(A,{key:"".concat(c.name,"-").concat(v)},L)):t.push(L)}return t}),[])}return K(h([{dummy:!0,children:e||[]}],p,V(e||[]))[0])}var M=function(e,t){var r=n.useRef();return n.useEffect((function(){r.current=t?r.current:e}),[e,t]),r.current};function $(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=t.i18n,i=n.useContext(w)||{},o=i.i18n,c=i.defaultNS,u=a||o||k();if(u&&!u.reportNamespaces&&(u.reportNamespaces=new S),!u){A("You will need to pass in an i18next instance by using initReactI18next");var l=function(e){return Array.isArray(e)?e[e.length-1]:e},f=[l,{},!1];return f.t=l,f.i18n={},f.ready=!1,f}u.options.react&&void 0!==u.options.react.wait&&A("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var p=r(r(r({},E()),u.options.react),t),d=p.useSuspense,g=p.keyPrefix,m=e||c||u.options&&u.options.defaultNS;m="string"==typeof m?[m]:m||["translation"],u.reportNamespaces.addUsedNamespaces&&u.reportNamespaces.addUsedNamespaces(m);var h=(u.isInitialized||u.initializedStoreOnce)&&m.every((function(e){return B(e,u,p)}));function v(){return u.getFixedT(null,"fallback"===p.nsMode?m:m[0],g)}var y=n.useState(v),b=s(y,2),O=b[0],x=b[1],j=m.join(),N=M(j),I=n.useRef(!0);n.useEffect((function(){var e=p.bindI18n,n=p.bindI18nStore;function t(){I.current&&x(v)}return I.current=!0,h||d||L(u,m,(function(){I.current&&x(v)})),h&&N&&N!==j&&I.current&&x(v),e&&u&&u.on(e,t),n&&u&&u.store.on(n,t),function(){I.current=!1,e&&u&&e.split(" ").forEach((function(e){return u.off(e,t)})),n&&u&&n.split(" ").forEach((function(e){return u.store.off(e,t)}))}}),[u,j]);var P=n.useRef(!0);n.useEffect((function(){I.current&&!P.current&&x(v),P.current=!1}),[u,g]);var R=[O,u,h];if(R.t=O,R.i18n=u,R.ready=h,h)return R;if(!h&&!d)return R;throw new Promise((function(e){L(u,m,(function(){e()}))}))}var q=["forwardedRef"];var Y=["ns","children"];function _(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=r.i18n,i=n.useContext(w)||{},o=i.i18n,c=a||o||k();c.options&&c.options.isClone||(e&&!c.initializedStoreOnce&&(c.services.resourceStore.data=e,c.options.ns=Object.values(e).reduce((function(e,n){return Object.keys(n).forEach((function(n){e.indexOf(n)<0&&e.push(n)})),e}),c.options.ns),c.initializedStoreOnce=!0,c.isInitialized=!0),t&&!c.initializedLanguageOnce&&(c.changeLanguage(t),c.initializedLanguageOnce=!0))}var J=["initialI18nStore","initialLanguage"];e.I18nContext=w,e.I18nextProvider=function(e){var t=e.i18n,r=e.defaultNS,a=e.children,i=n.useMemo((function(){return{i18n:t,defaultNS:r}}),[t,r]);return n.createElement(w.Provider,{value:i},a)},e.Trans=function(e){var t=e.children,i=e.count,o=e.parent,s=e.i18nKey,u=e.context,l=e.tOptions,f=void 0===l?{}:l,p=e.values,d=e.defaults,g=e.components,m=e.ns,h=e.i18n,v=e.t,y=e.shouldUnescape,b=c(e,F),O=n.useContext(w)||{},x=O.i18n,j=O.defaultNS,S=h||x||k();if(!S)return A("You will need to pass in an i18next instance by using i18nextReactModule"),t;var N=v||S.t.bind(S)||function(e){return e};u&&(f.context=u);var I=r(r({},E()),S.options&&S.options.react),P=m||N.ns||j||S.options&&S.options.defaultNS;P="string"==typeof P?[P]:P||["translation"];var R=d||function e(t,r){if(!t)return"";var i="",o=V(t),s=r.transSupportBasicHtmlNodes&&r.transKeepBasicHtmlNodesFor?r.transKeepBasicHtmlNodesFor:[];return o.forEach((function(t,o){if("string"==typeof t)i+="".concat(t);else if(n.isValidElement(t)){var u=Object.keys(t.props).length,l=s.indexOf(t.type)>-1,f=t.props.children;if(!f&&l&&0===u)i+="<".concat(t.type,"/>");else if(f||l&&0===u)if(t.props.i18nIsDynamicList)i+="<".concat(o,"></").concat(o,">");else if(l&&1===u&&"string"==typeof f)i+="<".concat(t.type,">").concat(f,"</").concat(t.type,">");else{var p=e(f,r);i+="<".concat(o,">").concat(p,"</").concat(o,">")}else i+="<".concat(o,"></").concat(o,">")}else if(null===t)C("Trans: the passed in value is invalid - seems you passed in a null child.");else if("object"===a(t)){var d=t.format,g=c(t,D),m=Object.keys(g);if(1===m.length){var h=d?"".concat(m[0],", ").concat(d):m[0];i+="{{".concat(h,"}}")}else C("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",t)}else C("Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.",t)})),i}(t,I)||I.transEmptyNodeValue||s,T=I.hashTransKey,L=s||(T?T(R):R),z=p?f.interpolation:{interpolation:r(r({},f.interpolation),{},{prefix:"#$?",suffix:"?$#"})},B=r(r(r(r({},f),{},{count:i},p),z),{},{defaultValue:R,ns:P}),U=W(g||t,L?N(L,B):R,S,I,B,y),H=void 0!==o?o:I.defaultTransParent;return H?n.createElement(H,b,U):U},e.Translation=function(e){var n=e.ns,t=e.children,r=s($(n,c(e,Y)),3),a=r[0],i=r[1],o=r[2];return t(a,{i18n:i,lng:i.language},o)},e.composeInitialProps=P,e.date=function(){return""},e.getDefaults=E,e.getI18n=k,e.getInitialProps=R,e.initReactI18next=I,e.number=function(){return""},e.plural=function(){return""},e.select=function(){return""},e.selectOrdinal=function(){return""},e.setDefaults=j,e.setI18n=N,e.time=function(){return""},e.useSSR=_,e.useTranslation=$,e.withSSR=function(){return function(e){function t(t){var a=t.initialI18nStore,i=t.initialLanguage,o=c(t,J);return _(a,i),n.createElement(e,r({},o))}return t.getInitialProps=P(e),t.displayName="withI18nextSSR(".concat(U(e),")"),t.WrappedComponent=e,t}},e.withTranslation=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(a){function i(i){var o=i.forwardedRef,u=c(i,q),l=s($(e,r(r({},u),{},{keyPrefix:t.keyPrefix})),3),f=l[0],p=l[1],d=l[2],g=r(r({},u),{},{t:f,i18n:p,tReady:d});return t.withRef&&o?g.ref=o:!t.withRef&&o&&(g.forwardedRef=o),n.createElement(a,g)}i.displayName="withI18nextTranslation(".concat(U(a),")"),i.WrappedComponent=a;return t.withRef?n.forwardRef((function(e,t){return n.createElement(i,Object.assign({},e,{forwardedRef:t}))})):i}},Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],n):n((e=e||self).ReactI18next={},e.React)}(this,(function(e,n){"use strict";function t(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function r(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?t(Object(r),!0).forEach((function(n){o(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}))}return e}function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}function c(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==t)return;var r,i,a=[],o=!0,s=!1;try{for(t=t.call(e);!(o=(r=t.next()).done)&&(a.push(r.value),!n||a.length!==n);o=!0);}catch(e){s=!0,i=e}finally{try{o||null==t.return||t.return()}finally{if(s)throw i}}return a}(e,n)||function(e,n){if(!e)return;if("string"==typeof e)return u(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return u(e,n)}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var l={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},f=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function p(e){var n={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},t=e.match(/<\/?([^\s]+?)[/\s>]/);if(t&&(n.name=t[1],(l[t[1]]||"/"===e.charAt(e.length-2))&&(n.voidElement=!0),n.name.startsWith("!--"))){var r=e.indexOf("--\x3e");return{type:"comment",comment:-1!==r?e.slice(4,r):""}}for(var i=new RegExp(f),a=null;null!==(a=i.exec(e));)if(a[0].trim())if(a[1]){var o=a[1].trim(),s=[o,""];o.indexOf("=")>-1&&(s=o.split("=")),n.attrs[s[0]]=s[1],i.lastIndex--}else a[2]&&(n.attrs[a[2]]=a[3].trim().substring(1,a[3].length-1));return n}var d=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,g=/^\s*$/,m=Object.create(null);var h=function(e,n){n||(n={}),n.components||(n.components=m);var t,r=[],i=[],a=-1,o=!1;if(0!==e.indexOf("<")){var s=e.indexOf("<");r.push({type:"text",content:-1===s?e:e.substring(0,s)})}return e.replace(d,(function(s,c){if(o){if(s!=="</"+t.name+">")return;o=!1}var u,l="/"!==s.charAt(1),f=s.startsWith("\x3c!--"),d=c+s.length,m=e.charAt(d);if(f){var h=p(s);return a<0?(r.push(h),r):((u=i[a]).children.push(h),r)}if(l&&(a++,"tag"===(t=p(s)).type&&n.components[t.name]&&(t.type="component",o=!0),t.voidElement||o||!m||"<"===m||t.children.push({type:"text",content:e.slice(d,e.indexOf("<",d))}),0===a&&r.push(t),(u=i[a-1])&&u.children.push(t),i[a]=t),(!l||t.voidElement)&&(a>-1&&(t.voidElement||t.name===s.slice(2,-1))&&(a--,t=-1===a?r:i[a]),!o&&"<"!==m&&m)){u=-1===a?r:i[a].children;var v=e.indexOf("<",d),y=e.slice(d,-1===v?void 0:v);g.test(y)&&(y=" "),(v>-1&&a+u.length>=0||" "!==y)&&u.push({type:"text",content:y})}})),r};function v(){if(console&&console.warn){for(var e,n=arguments.length,t=new Array(n),r=0;r<n;r++)t[r]=arguments[r];"string"==typeof t[0]&&(t[0]="react-i18next:: ".concat(t[0])),(e=console).warn.apply(e,t)}}var y={};function b(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];"string"==typeof n[0]&&y[n[0]]||("string"==typeof n[0]&&(y[n[0]]=new Date),v.apply(void 0,n))}function O(e,n,t){e.loadNamespaces(n,(function(){if(e.isInitialized)t();else{e.on("initialized",(function n(){setTimeout((function(){e.off("initialized",n)}),0),t()}))}}))}function x(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.languages[0],i=!!n.options&&n.options.fallbackLng,a=n.languages[n.languages.length-1];if("cimode"===r.toLowerCase())return!0;var o=function(e,t){var r=n.services.backendConnector.state["".concat(e,"|").concat(t)];return-1===r||2===r};return!(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!o(n.isLanguageChangingTo,e))&&(!!n.hasResourceBundle(r,e)||(!(n.services.backendConnector.backend&&(!n.options.resources||n.options.partialBundledLanguages))||!(!o(r,e)||i&&!o(a,e))))}function w(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!n.languages||!n.languages.length)return b("i18n.languages were undefined or empty",n.languages),!0;var r=void 0!==n.options.ignoreJSONStructure;return r?n.hasLoadedNamespace(e,{precheck:function(n,r){if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!r(n.isLanguageChangingTo,e))return!1}}):x(e,n,t)}function S(e){return e.displayName||e.name||("string"==typeof e&&e.length>0?e:"Unknown")}var j,E=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,N={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},k=function(e){return N[e]},I={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:function(e){return e.replace(E,k)}};function P(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};I=r(r({},I),e)}function R(){return I}function C(e){j=e}function T(){return j}var A=["format"],L=["children","count","parent","i18nKey","context","tOptions","values","defaults","components","ns","i18n","t","shouldUnescape"];function U(e,n){if(!e)return!1;var t=e.props?e.props.children:e.children;return n?t.length>0:!!t}function z(e){return e?e.props?e.props.children:e.children:[]}function B(e){return Array.isArray(e)?e:[e]}function K(e,t,a,o,s,c){if(""===t)return[];var u=o.transKeepBasicHtmlNodesFor||[],l=t&&new RegExp(u.join("|")).test(t);if(!e&&!l)return[t];var f={};!function e(t){B(t).forEach((function(t){"string"!=typeof t&&(U(t)?e(z(t)):"object"!==i(t)||n.isValidElement(t)||Object.assign(f,t))}))}(e);var p=h("<0>".concat(t,"</0>")),d=r(r({},f),s);function g(e,t,r){var i=z(e),a=v(i,t.children,r);return function(e){return"[object Array]"===Object.prototype.toString.call(e)&&e.every((function(e){return n.isValidElement(e)}))}(i)&&0===a.length?i:a}function m(e,t,i,a,o){e.dummy&&(e.children=t),i.push(n.cloneElement(e,r(r({},e.props),{},{key:a}),o?void 0:t))}function v(t,s,f){var p=B(t);return B(s).reduce((function(t,s,h){var y,b,O,x=s.children&&s.children[0]&&s.children[0].content&&a.services.interpolator.interpolate(s.children[0].content,d,a.language);if("tag"===s.type){var w=p[parseInt(s.name,10)];!w&&1===f.length&&f[0][s.name]&&(w=f[0][s.name]),w||(w={});var S=0!==Object.keys(s.attrs).length?(y={props:s.attrs},(O=r({},b=w)).props=Object.assign(y.props,b.props),O):w,j=n.isValidElement(S),E=j&&U(s,!0)&&!s.voidElement,N=l&&"object"===i(S)&&S.dummy&&!j,k="object"===i(e)&&null!==e&&Object.hasOwnProperty.call(e,s.name);if("string"==typeof S){var I=a.services.interpolator.interpolate(S,d,a.language);t.push(I)}else if(U(S)||E){m(S,g(S,s,f),t,h)}else if(N){var P=v(p,s.children,f);t.push(n.cloneElement(S,r(r({},S.props),{},{key:h}),P))}else if(Number.isNaN(parseFloat(s.name))){if(k)m(S,g(S,s,f),t,h,s.voidElement);else if(o.transSupportBasicHtmlNodes&&u.indexOf(s.name)>-1)if(s.voidElement)t.push(n.createElement(s.name,{key:"".concat(s.name,"-").concat(h)}));else{var R=v(p,s.children,f);t.push(n.createElement(s.name,{key:"".concat(s.name,"-").concat(h)},R))}else if(s.voidElement)t.push("<".concat(s.name," />"));else{var C=v(p,s.children,f);t.push("<".concat(s.name,">").concat(C,"</").concat(s.name,">"))}}else if("object"!==i(S)||j)1===s.children.length&&x?t.push(n.cloneElement(S,r(r({},S.props),{},{key:h}),x)):t.push(n.cloneElement(S,r(r({},S.props),{},{key:h})));else{var T=s.children[0]?x:null;T&&t.push(T)}}else if("text"===s.type){var A=o.transWrapTextNodes,L=c?o.unescape(a.services.interpolator.interpolate(s.content,d,a.language)):a.services.interpolator.interpolate(s.content,d,a.language);A?t.push(n.createElement(A,{key:"".concat(s.name,"-").concat(h)},L)):t.push(L)}return t}),[])}return z(v([{dummy:!0,children:e||[]}],p,B(e||[]))[0])}function D(e){var t=e.children,a=e.count,o=e.parent,c=e.i18nKey,u=e.context,l=e.tOptions,f=void 0===l?{}:l,p=e.values,d=e.defaults,g=e.components,m=e.ns,h=e.i18n,y=e.t,O=e.shouldUnescape,x=s(e,L),w=h||T();if(!w)return b("You will need to pass in an i18next instance by using i18nextReactModule"),t;var S=y||w.t.bind(w)||function(e){return e};u&&(f.context=u);var j=r(r({},R()),w.options&&w.options.react),E=m||S.ns||w.options&&w.options.defaultNS;E="string"==typeof E?[E]:E||["translation"];var N=d||function e(t,r){if(!t)return"";var a="",o=B(t),c=r.transSupportBasicHtmlNodes&&r.transKeepBasicHtmlNodesFor?r.transKeepBasicHtmlNodesFor:[];return o.forEach((function(t,o){if("string"==typeof t)a+="".concat(t);else if(n.isValidElement(t)){var u=Object.keys(t.props).length,l=c.indexOf(t.type)>-1,f=t.props.children;if(!f&&l&&0===u)a+="<".concat(t.type,"/>");else if(f||l&&0===u)if(t.props.i18nIsDynamicList)a+="<".concat(o,"></").concat(o,">");else if(l&&1===u&&"string"==typeof f)a+="<".concat(t.type,">").concat(f,"</").concat(t.type,">");else{var p=e(f,r);a+="<".concat(o,">").concat(p,"</").concat(o,">")}else a+="<".concat(o,"></").concat(o,">")}else if(null===t)v("Trans: the passed in value is invalid - seems you passed in a null child.");else if("object"===i(t)){var d=t.format,g=s(t,A),m=Object.keys(g);if(1===m.length){var h=d?"".concat(m[0],", ").concat(d):m[0];a+="{{".concat(h,"}}")}else v("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",t)}else v("Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.",t)})),a}(t,j)||j.transEmptyNodeValue||c,k=j.hashTransKey,I=c||(k?k(N):N),P=p?f.interpolation:{interpolation:r(r({},f.interpolation),{},{prefix:"#$?",suffix:"?$#"})},C=r(r(r(r({},f),{},{count:a},p),P),{},{defaultValue:N,ns:E}),U=K(g||t,I?S(I,C):N,w,j,C,O),z=void 0!==o?o:j.defaultTransParent;return z?n.createElement(z,x,U):U}var F={type:"3rdParty",init:function(e){P(e.options.react),C(e)}},H=n.createContext(),V=function(){function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.usedNamespaces={}}var n,t,r;return n=e,(t=[{key:"addUsedNamespaces",value:function(e){var n=this;e.forEach((function(e){n.usedNamespaces[e]||(n.usedNamespaces[e]=!0)}))}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}])&&a(n.prototype,t),r&&a(n,r),e}();function W(e){return function(n){return new Promise((function(t){var i=M();e.getInitialProps?e.getInitialProps(n).then((function(e){t(r(r({},e),i))})):t(i)}))}}function M(){var e=T(),n=e.reportNamespaces?e.reportNamespaces.getUsedNamespaces():[],t={},r={};return e.languages.forEach((function(t){r[t]={},n.forEach((function(n){r[t][n]=e.getResourceBundle(t,n)||{}}))})),t.initialI18nStore=r,t.initialLanguage=e.language,t}var $=["children","count","parent","i18nKey","context","tOptions","values","defaults","components","ns","i18n","t","shouldUnescape"];var q=function(e,t){var r=n.useRef();return n.useEffect((function(){r.current=t?r.current:e}),[e,t]),r.current};function Y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=t.i18n,a=n.useContext(H)||{},o=a.i18n,s=a.defaultNS,u=i||o||T();if(u&&!u.reportNamespaces&&(u.reportNamespaces=new V),!u){b("You will need to pass in an i18next instance by using initReactI18next");var l=function(e){return Array.isArray(e)?e[e.length-1]:e},f=[l,{},!1];return f.t=l,f.i18n={},f.ready=!1,f}u.options.react&&void 0!==u.options.react.wait&&b("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var p=r(r(r({},R()),u.options.react),t),d=p.useSuspense,g=p.keyPrefix,m=e||s||u.options&&u.options.defaultNS;m="string"==typeof m?[m]:m||["translation"],u.reportNamespaces.addUsedNamespaces&&u.reportNamespaces.addUsedNamespaces(m);var h=(u.isInitialized||u.initializedStoreOnce)&&m.every((function(e){return w(e,u,p)}));function v(){return u.getFixedT(null,"fallback"===p.nsMode?m:m[0],g)}var y=n.useState(v),x=c(y,2),S=x[0],j=x[1],E=m.join(),N=q(E),k=n.useRef(!0);n.useEffect((function(){var e=p.bindI18n,n=p.bindI18nStore;function t(){k.current&&j(v)}return k.current=!0,h||d||O(u,m,(function(){k.current&&j(v)})),h&&N&&N!==E&&k.current&&j(v),e&&u&&u.on(e,t),n&&u&&u.store.on(n,t),function(){k.current=!1,e&&u&&e.split(" ").forEach((function(e){return u.off(e,t)})),n&&u&&n.split(" ").forEach((function(e){return u.store.off(e,t)}))}}),[u,E]);var I=n.useRef(!0);n.useEffect((function(){k.current&&!I.current&&j(v),I.current=!1}),[u,g]);var P=[S,u,h];if(P.t=S,P.i18n=u,P.ready=h,h)return P;if(!h&&!d)return P;throw new Promise((function(e){O(u,m,(function(){e()}))}))}var _=["forwardedRef"];var J=["ns","children"];function Z(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=r.i18n,a=n.useContext(H)||{},o=a.i18n,s=i||o||T();s.options&&s.options.isClone||(e&&!s.initializedStoreOnce&&(s.services.resourceStore.data=e,s.options.ns=Object.values(e).reduce((function(e,n){return Object.keys(n).forEach((function(n){e.indexOf(n)<0&&e.push(n)})),e}),s.options.ns),s.initializedStoreOnce=!0,s.isInitialized=!0),t&&!s.initializedLanguageOnce&&(s.changeLanguage(t),s.initializedLanguageOnce=!0))}var G=["initialI18nStore","initialLanguage"];e.I18nContext=H,e.I18nextProvider=function(e){var t=e.i18n,r=e.defaultNS,i=e.children,a=n.useMemo((function(){return{i18n:t,defaultNS:r}}),[t,r]);return n.createElement(H.Provider,{value:a},i)},e.Trans=function(e){var t=e.children,i=e.count,a=e.parent,o=e.i18nKey,c=e.context,u=e.tOptions,l=void 0===u?{}:u,f=e.values,p=e.defaults,d=e.components,g=e.ns,m=e.i18n,h=e.t,v=e.shouldUnescape,y=s(e,$),b=n.useContext(H)||{},O=b.i18n,x=b.defaultNS,w=m||O||T(),S=h||w.t.bind(w)||function(e){return e};return D(r({children:t,count:i,parent:a,i18nKey:o,context:c,tOptions:l,values:f,defaults:p,components:d,ns:g||S.ns||x||w.options&&w.options.defaultNS,i18n:w,t:h,shouldUnescape:v},y))},e.TransWithoutContext=D,e.Translation=function(e){var n=e.ns,t=e.children,r=c(Y(n,s(e,J)),3),i=r[0],a=r[1],o=r[2];return t(i,{i18n:a,lng:a.language},o)},e.composeInitialProps=W,e.date=function(){return""},e.getDefaults=R,e.getI18n=T,e.getInitialProps=M,e.initReactI18next=F,e.number=function(){return""},e.plural=function(){return""},e.select=function(){return""},e.selectOrdinal=function(){return""},e.setDefaults=P,e.setI18n=C,e.time=function(){return""},e.useSSR=Z,e.useTranslation=Y,e.withSSR=function(){return function(e){function t(t){var i=t.initialI18nStore,a=t.initialLanguage,o=s(t,G);return Z(i,a),n.createElement(e,r({},o))}return t.getInitialProps=W(e),t.displayName="withI18nextSSR(".concat(S(e),")"),t.WrappedComponent=e,t}},e.withTranslation=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(i){function a(a){var o=a.forwardedRef,u=s(a,_),l=c(Y(e,r(r({},u),{},{keyPrefix:t.keyPrefix})),3),f=l[0],p=l[1],d=l[2],g=r(r({},u),{},{t:f,i18n:p,tReady:d});return t.withRef&&o?g.ref=o:!t.withRef&&o&&(g.forwardedRef=o),n.createElement(i,g)}a.displayName="withI18nextTranslation(".concat(S(i),")"),a.WrappedComponent=i;return t.withRef?n.forwardRef((function(e,t){return n.createElement(a,Object.assign({},e,{forwardedRef:t}))})):a}},Object.defineProperty(e,"__esModule",{value:!0})}));
|
package/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import i18next, {
|
|
2
2
|
ReactOptions,
|
|
3
3
|
i18n,
|
|
4
|
-
ThirdPartyModule,
|
|
5
4
|
Resource,
|
|
6
|
-
TFuncKey,
|
|
7
5
|
Namespace,
|
|
8
6
|
TypeOptions,
|
|
9
7
|
TFunction,
|
|
10
8
|
KeyPrefix,
|
|
11
9
|
} from 'i18next';
|
|
12
10
|
import * as React from 'react';
|
|
11
|
+
export { Trans, TransProps } from './TransWithoutContext';
|
|
12
|
+
export { initReactI18next } from './initReactI18next';
|
|
13
13
|
|
|
14
14
|
type Subtract<T extends K, K> = Omit<T, keyof K>;
|
|
15
15
|
|
|
@@ -17,7 +17,6 @@ export function setDefaults(options: ReactOptions): void;
|
|
|
17
17
|
export function getDefaults(): ReactOptions;
|
|
18
18
|
export function setI18n(instance: i18n): void;
|
|
19
19
|
export function getI18n(): i18n;
|
|
20
|
-
export const initReactI18next: ThirdPartyModule;
|
|
21
20
|
export function composeInitialProps(ForComponent: any): (ctx: unknown) => Promise<any>;
|
|
22
21
|
export function getInitialProps(): {
|
|
23
22
|
initialI18nStore: {
|
|
@@ -50,35 +49,6 @@ declare module 'react' {
|
|
|
50
49
|
|
|
51
50
|
type DefaultNamespace = TypeOptions['defaultNS'];
|
|
52
51
|
|
|
53
|
-
type TransChild = React.ReactNode | Record<string, unknown>;
|
|
54
|
-
export type TransProps<
|
|
55
|
-
K extends TFuncKey<N, TKPrefix> extends infer A ? A : never,
|
|
56
|
-
N extends Namespace = DefaultNamespace,
|
|
57
|
-
TKPrefix = undefined,
|
|
58
|
-
E = React.HTMLProps<HTMLDivElement>
|
|
59
|
-
> = E & {
|
|
60
|
-
children?: TransChild | TransChild[];
|
|
61
|
-
components?: readonly React.ReactElement[] | { readonly [tagName: string]: React.ReactElement };
|
|
62
|
-
count?: number;
|
|
63
|
-
context?: string;
|
|
64
|
-
defaults?: string;
|
|
65
|
-
i18n?: i18n;
|
|
66
|
-
i18nKey?: K | K[];
|
|
67
|
-
ns?: N;
|
|
68
|
-
parent?: string | React.ComponentType<any> | null; // used in React.createElement if not null
|
|
69
|
-
tOptions?: {};
|
|
70
|
-
values?: {};
|
|
71
|
-
shouldUnescape?: boolean;
|
|
72
|
-
t?: TFunction<N, TKPrefix>;
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
export function Trans<
|
|
76
|
-
K extends TFuncKey<N, TKPrefix> extends infer A ? A : never,
|
|
77
|
-
N extends Namespace = DefaultNamespace,
|
|
78
|
-
TKPrefix extends KeyPrefix<N> = undefined,
|
|
79
|
-
E = React.HTMLProps<HTMLDivElement>
|
|
80
|
-
>(props: TransProps<K, N, TKPrefix, E>): React.ReactElement;
|
|
81
|
-
|
|
82
52
|
export function useSSR(initialI18nStore: Resource, initialLanguage: string): void;
|
|
83
53
|
|
|
84
54
|
export interface UseTranslationOptions<TKPrefix = undefined> {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-i18next",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.1.0",
|
|
4
4
|
"description": "Internationalization for react done right. Using the i18next i18n ecosystem.",
|
|
5
5
|
"main": "dist/commonjs/index.js",
|
|
6
6
|
"types": "./index.d.ts",
|
|
@@ -17,6 +17,24 @@
|
|
|
17
17
|
"react",
|
|
18
18
|
"reactjs"
|
|
19
19
|
],
|
|
20
|
+
"exports": {
|
|
21
|
+
"./package.json": "./package.json",
|
|
22
|
+
".": {
|
|
23
|
+
"types": "./index.d.ts",
|
|
24
|
+
"import": "./dist/es/index.js",
|
|
25
|
+
"require": "./dist/commonjs/index.js"
|
|
26
|
+
},
|
|
27
|
+
"./TransWithoutContext": {
|
|
28
|
+
"types": "./TransWithoutContext.d.ts",
|
|
29
|
+
"import": "./dist/es/TransWithoutContext.js",
|
|
30
|
+
"require": "./dist/commonjs/TransWithoutContext.js"
|
|
31
|
+
},
|
|
32
|
+
"./initReactI18next": {
|
|
33
|
+
"types": "./initReactI18next.d.ts",
|
|
34
|
+
"import": "./dist/es/initReactI18next.js",
|
|
35
|
+
"require": "./dist/commonjs/initReactI18next.js"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
20
38
|
"homepage": "https://github.com/i18next/react-i18next",
|
|
21
39
|
"bugs": "https://github.com/i18next/react-i18next/issues",
|
|
22
40
|
"repository": {
|
|
@@ -66,9 +84,9 @@
|
|
|
66
84
|
"lint-staged": "^8.1.3",
|
|
67
85
|
"mkdirp": "^1.0.4",
|
|
68
86
|
"prettier": "2.2.1",
|
|
69
|
-
"react": "^16.
|
|
70
|
-
"react-dom": "^16.
|
|
71
|
-
"react-test-renderer": "^
|
|
87
|
+
"react": "^16.14.0",
|
|
88
|
+
"react-dom": "^16.14.0",
|
|
89
|
+
"react-test-renderer": "^16.14.0",
|
|
72
90
|
"rimraf": "2.6.3",
|
|
73
91
|
"rollup": "1.19.4",
|
|
74
92
|
"rollup-plugin-babel": "^4.3.2",
|