react-i18next 11.8.11 → 11.8.15
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 +16 -0
- package/dist/amd/react-i18next.js +95 -167
- package/dist/amd/react-i18next.min.js +1 -1
- package/dist/commonjs/Trans.js +3 -1
- package/dist/commonjs/useTranslation.js +7 -9
- package/dist/es/Trans.js +3 -1
- package/dist/es/useTranslation.js +7 -9
- package/dist/umd/react-i18next.js +95 -167
- package/dist/umd/react-i18next.min.js +1 -1
- package/package.json +2 -2
- package/react-i18next.js +95 -167
- package/react-i18next.min.js +1 -1
- package/src/Trans.js +6 -4
- package/src/useTranslation.js +7 -9
package/react-i18next.js
CHANGED
|
@@ -194,9 +194,7 @@
|
|
|
194
194
|
"hr": true,
|
|
195
195
|
"img": true,
|
|
196
196
|
"input": true,
|
|
197
|
-
"keygen": true,
|
|
198
197
|
"link": true,
|
|
199
|
-
"menuitem": true,
|
|
200
198
|
"meta": true,
|
|
201
199
|
"param": true,
|
|
202
200
|
"source": true,
|
|
@@ -204,185 +202,115 @@
|
|
|
204
202
|
"wbr": true
|
|
205
203
|
};
|
|
206
204
|
|
|
207
|
-
var
|
|
205
|
+
var t = /\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;
|
|
208
206
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
var expectingValueAfterEquals = true;
|
|
215
|
-
var res = {
|
|
216
|
-
type: 'tag',
|
|
217
|
-
name: '',
|
|
218
|
-
voidElement: false,
|
|
207
|
+
function n(n) {
|
|
208
|
+
var r = {
|
|
209
|
+
type: "tag",
|
|
210
|
+
name: "",
|
|
211
|
+
voidElement: !1,
|
|
219
212
|
attrs: {},
|
|
220
213
|
children: []
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
if (match === '=') {
|
|
224
|
-
expectingValueAfterEquals = true;
|
|
225
|
-
i++;
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
if (!expectingValueAfterEquals) {
|
|
230
|
-
if (key) {
|
|
231
|
-
res.attrs[key] = key;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
key = match;
|
|
235
|
-
} else {
|
|
236
|
-
if (i === 0) {
|
|
237
|
-
if (voidElements[match] || tag.charAt(tag.length - 2) === '/') {
|
|
238
|
-
res.voidElement = true;
|
|
239
|
-
}
|
|
214
|
+
},
|
|
215
|
+
i = n.match(/<\/?([^\s]+?)[/\s>]/);
|
|
240
216
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
}
|
|
217
|
+
if (i && (r.name = i[1], (voidElements[i[1]] || "/" === n.charAt(n.length - 2)) && (r.voidElement = !0), r.name.startsWith("!--"))) {
|
|
218
|
+
var s = n.indexOf("--\x3e");
|
|
219
|
+
return {
|
|
220
|
+
type: "comment",
|
|
221
|
+
comment: -1 !== s ? n.slice(4, s) : ""
|
|
222
|
+
};
|
|
223
|
+
}
|
|
247
224
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
225
|
+
for (var a = new RegExp(t), c = null; null !== (c = a.exec(n));) {
|
|
226
|
+
if (c[0].trim()) if (c[1]) {
|
|
227
|
+
var o = c[1].trim(),
|
|
228
|
+
l = [o, ""];
|
|
229
|
+
o.indexOf("=") > -1 && (l = o.split("=")), r.attrs[l[0]] = l[1], a.lastIndex--;
|
|
230
|
+
} else c[2] && (r.attrs[c[2]] = c[3].trim().substring(1, c[3].length - 1));
|
|
231
|
+
}
|
|
253
232
|
|
|
254
|
-
|
|
233
|
+
return r;
|
|
234
|
+
}
|
|
255
235
|
|
|
236
|
+
var r = /<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,
|
|
237
|
+
i = /^\s*$/,
|
|
238
|
+
s = Object.create(null);
|
|
256
239
|
|
|
240
|
+
function a(e, t) {
|
|
241
|
+
switch (t.type) {
|
|
242
|
+
case "text":
|
|
243
|
+
return e + t.content;
|
|
257
244
|
|
|
258
|
-
|
|
245
|
+
case "tag":
|
|
246
|
+
return e += "<" + t.name + (t.attrs ? function (e) {
|
|
247
|
+
var t = [];
|
|
259
248
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
249
|
+
for (var n in e) {
|
|
250
|
+
t.push(n + '="' + e[n] + '"');
|
|
251
|
+
}
|
|
263
252
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
}
|
|
253
|
+
return t.length ? " " + t.join(" ") : "";
|
|
254
|
+
}(t.attrs) : "") + (t.voidElement ? "/>" : ">"), t.voidElement ? e : e + t.children.reduce(a, "") + "</" + t.name + ">";
|
|
267
255
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
type: 'text',
|
|
271
|
-
content: content
|
|
272
|
-
});
|
|
256
|
+
case "comment":
|
|
257
|
+
return e + "\x3c!--" + t.comment + "--\x3e";
|
|
273
258
|
}
|
|
274
259
|
}
|
|
275
260
|
|
|
276
|
-
var
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
}
|
|
261
|
+
var c = {
|
|
262
|
+
parse: function parse(e, t) {
|
|
263
|
+
t || (t = {}), t.components || (t.components = s);
|
|
264
|
+
var a,
|
|
265
|
+
c = [],
|
|
266
|
+
o = [],
|
|
267
|
+
l = -1,
|
|
268
|
+
m = !1;
|
|
269
|
+
|
|
270
|
+
if (0 !== e.indexOf("<")) {
|
|
271
|
+
var u = e.indexOf("<");
|
|
272
|
+
c.push({
|
|
273
|
+
type: "text",
|
|
274
|
+
content: -1 === u ? e : e.substring(0, u)
|
|
275
|
+
});
|
|
292
276
|
}
|
|
293
277
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
var parent;
|
|
299
|
-
|
|
300
|
-
if (isOpen && !isComment) {
|
|
301
|
-
level++;
|
|
302
|
-
current = parseTag(tag);
|
|
303
|
-
|
|
304
|
-
if (current.type === 'tag' && options.components[current.name]) {
|
|
305
|
-
current.type = 'component';
|
|
306
|
-
inComponent = true;
|
|
278
|
+
return e.replace(r, function (r, s) {
|
|
279
|
+
if (m) {
|
|
280
|
+
if (r !== "</" + a.name + ">") return;
|
|
281
|
+
m = !1;
|
|
307
282
|
}
|
|
308
283
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
284
|
+
var u,
|
|
285
|
+
f = "/" !== r.charAt(1),
|
|
286
|
+
h = r.startsWith("\x3c!--"),
|
|
287
|
+
p = s + r.length,
|
|
288
|
+
d = e.charAt(p);
|
|
312
289
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
result.push(current);
|
|
290
|
+
if (h) {
|
|
291
|
+
var v = n(r);
|
|
292
|
+
return l < 0 ? (c.push(v), c) : ((u = o[l]).children.push(v), c);
|
|
317
293
|
}
|
|
318
294
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
level--;
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
if (!inComponent && nextChar !== '<' && nextChar) {
|
|
334
|
-
parent = level === -1 ? result : arr[level].children;
|
|
335
|
-
pushTextNode(parent, html, level, start, options.ignoreWhitespace);
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
});
|
|
339
|
-
|
|
340
|
-
if (!result.length && html.length) {
|
|
341
|
-
pushTextNode(result, html, 0, 0, options.ignoreWhitespace);
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
return result;
|
|
345
|
-
};
|
|
346
|
-
|
|
347
|
-
function attrString(attrs) {
|
|
348
|
-
var buff = [];
|
|
349
|
-
|
|
350
|
-
for (var key in attrs) {
|
|
351
|
-
buff.push(key + '="' + attrs[key] + '"');
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
if (!buff.length) {
|
|
355
|
-
return '';
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
return ' ' + buff.join(' ');
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
function stringify(buff, doc) {
|
|
362
|
-
switch (doc.type) {
|
|
363
|
-
case 'text':
|
|
364
|
-
return buff + doc.content;
|
|
365
|
-
|
|
366
|
-
case 'tag':
|
|
367
|
-
buff += '<' + doc.name + (doc.attrs ? attrString(doc.attrs) : '') + (doc.voidElement ? '/>' : '>');
|
|
368
|
-
|
|
369
|
-
if (doc.voidElement) {
|
|
370
|
-
return buff;
|
|
295
|
+
if (f && (l++, "tag" === (a = n(r)).type && t.components[a.name] && (a.type = "component", m = !0), a.voidElement || m || !d || "<" === d || a.children.push({
|
|
296
|
+
type: "text",
|
|
297
|
+
content: e.slice(p, e.indexOf("<", p))
|
|
298
|
+
}), 0 === l && c.push(a), (u = o[l - 1]) && u.children.push(a), o[l] = a), (!f || a.voidElement) && (l > -1 && (a.voidElement || a.name === r.slice(2, -1)) && (l--, a = -1 === l ? c : o[l]), !m && "<" !== d && d)) {
|
|
299
|
+
u = -1 === l ? c : o[l].children;
|
|
300
|
+
var x = e.indexOf("<", p),
|
|
301
|
+
g = e.slice(p, -1 === x ? void 0 : x);
|
|
302
|
+
i.test(g) && (g = " "), (x > -1 && l + u.length >= 0 || " " !== g) && u.push({
|
|
303
|
+
type: "text",
|
|
304
|
+
content: g
|
|
305
|
+
});
|
|
371
306
|
}
|
|
372
|
-
|
|
373
|
-
|
|
307
|
+
}), c;
|
|
308
|
+
},
|
|
309
|
+
stringify: function stringify(e) {
|
|
310
|
+
return e.reduce(function (e, t) {
|
|
311
|
+
return e + a("", t);
|
|
312
|
+
}, "");
|
|
374
313
|
}
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
var stringify_1 = function (doc) {
|
|
378
|
-
return doc.reduce(function (token, rootEl) {
|
|
379
|
-
return token + stringify('', rootEl);
|
|
380
|
-
}, '');
|
|
381
|
-
};
|
|
382
|
-
|
|
383
|
-
var htmlParseStringify2 = {
|
|
384
|
-
parse: parse,
|
|
385
|
-
stringify: stringify_1
|
|
386
314
|
};
|
|
387
315
|
|
|
388
316
|
var defaultOptions = {
|
|
@@ -593,6 +521,8 @@
|
|
|
593
521
|
var content = nodesToString(childChildren, i18nOptions);
|
|
594
522
|
stringNode += "<".concat(childIndex, ">").concat(content, "</").concat(childIndex, ">");
|
|
595
523
|
}
|
|
524
|
+
} else if (child === null) {
|
|
525
|
+
warn("Trans: the passed in value is invalid - seems you passed in a null child.");
|
|
596
526
|
} else if (_typeof(child) === 'object') {
|
|
597
527
|
var format = child.format,
|
|
598
528
|
clone = _objectWithoutProperties(child, ["format"]);
|
|
@@ -629,7 +559,7 @@
|
|
|
629
559
|
|
|
630
560
|
getData(children);
|
|
631
561
|
var interpolatedString = i18n.services.interpolator.interpolate(targetString, _objectSpread2(_objectSpread2({}, data), combinedTOpts), i18n.language);
|
|
632
|
-
var ast =
|
|
562
|
+
var ast = c.parse("<0>".concat(interpolatedString, "</0>"));
|
|
633
563
|
|
|
634
564
|
function renderInner(child, node, rootReactNode) {
|
|
635
565
|
var childs = getChildren(child);
|
|
@@ -819,12 +749,10 @@
|
|
|
819
749
|
});
|
|
820
750
|
|
|
821
751
|
function getT() {
|
|
822
|
-
return
|
|
823
|
-
t: i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0])
|
|
824
|
-
};
|
|
752
|
+
return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0]);
|
|
825
753
|
}
|
|
826
754
|
|
|
827
|
-
var _useState = React.useState(getT
|
|
755
|
+
var _useState = React.useState(getT),
|
|
828
756
|
_useState2 = _slicedToArray(_useState, 2),
|
|
829
757
|
t = _useState2[0],
|
|
830
758
|
setT = _useState2[1];
|
|
@@ -837,12 +765,12 @@
|
|
|
837
765
|
|
|
838
766
|
if (!ready && !useSuspense) {
|
|
839
767
|
loadNamespaces(i18n, namespaces, function () {
|
|
840
|
-
if (isMounted.current) setT(getT
|
|
768
|
+
if (isMounted.current) setT(getT);
|
|
841
769
|
});
|
|
842
770
|
}
|
|
843
771
|
|
|
844
772
|
function boundReset() {
|
|
845
|
-
if (isMounted.current) setT(getT
|
|
773
|
+
if (isMounted.current) setT(getT);
|
|
846
774
|
}
|
|
847
775
|
|
|
848
776
|
if (bindI18n && i18n) i18n.on(bindI18n, boundReset);
|
|
@@ -860,13 +788,13 @@
|
|
|
860
788
|
var isInitial = React.useRef(true);
|
|
861
789
|
React.useEffect(function () {
|
|
862
790
|
if (isMounted.current && !isInitial.current) {
|
|
863
|
-
setT(getT
|
|
791
|
+
setT(getT);
|
|
864
792
|
}
|
|
865
793
|
|
|
866
794
|
isInitial.current = false;
|
|
867
795
|
}, [i18n]);
|
|
868
|
-
var ret = [t
|
|
869
|
-
ret.t = t
|
|
796
|
+
var ret = [t, i18n, ready];
|
|
797
|
+
ret.t = t;
|
|
870
798
|
ret.i18n = i18n;
|
|
871
799
|
ret.ready = ready;
|
|
872
800
|
if (ready) return ret;
|
package/react-i18next.min.js
CHANGED
|
@@ -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";var t="default"in n?n.default:n;function r(e){return(r="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 a(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 c(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}function u(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var t=[],r=!0,i=!1,o=void 0;try{for(var a,c=e[Symbol.iterator]();!(r=(a=c.next()).done)&&(t.push(a.value),!n||t.length!==n);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==c.return||c.return()}finally{if(i)throw o}}return t}(e,n)||function(e,n){if(!e)return;if("string"==typeof e)return l(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 l(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 l(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 f={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,menuitem:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},p=/([\w-]+)|=|(['"])([.\s\S]*?)\2/g,d=/(?:<!--[\S\s]*?-->|<(?:"[^"]*"['"]*|'[^']*'['"]*|[^'">])+>)/g,g=Object.create?Object.create(null):{};function m(e,n,t,r,i){var o=n.indexOf("<",r),a=n.slice(r,-1===o?void 0:o);/^\s*$/.test(a)&&(a=" "),(!i&&o>-1&&t+e.length>=0||" "!==a)&&e.push({type:"text",content:a})}var y,h=function(e,n){n||(n={}),n.components||(n.components=g);var t,r=[],i=-1,o=[],a={},c=!1;return e.replace(d,(function(s,u){if(c){if(s!=="</"+t.name+">")return;c=!1}var l,d="/"!==s.charAt(1),g=0===s.indexOf("\x3c!--"),y=u+s.length,h=e.charAt(y);d&&!g&&(i++,"tag"===(t=function(e){var n,t=0,r=!0,i={type:"tag",name:"",voidElement:!1,attrs:{},children:[]};return e.replace(p,(function(o){if("="===o)return r=!0,void t++;r?0===t?((f[o]||"/"===e.charAt(e.length-2))&&(i.voidElement=!0),i.name=o):(i.attrs[n]=o.replace(/^['"]|['"]$/g,""),n=void 0):(n&&(i.attrs[n]=n),n=o),t++,r=!1})),i}(s)).type&&n.components[t.name]&&(t.type="component",c=!0),t.voidElement||c||!h||"<"===h||m(t.children,e,i,y,n.ignoreWhitespace),a[t.tagName]=t,0===i&&r.push(t),(l=o[i-1])&&l.children.push(t),o[i]=t),(g||!d||t.voidElement)&&(g||i--,!c&&"<"!==h&&h&&m(l=-1===i?r:o[i].children,e,i,y,n.ignoreWhitespace))})),!r.length&&e.length&&m(r,e,0,0,n.ignoreWhitespace),r},v={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0},b=t.createContext();function O(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};v=c(c({},v),e)}function w(){return v}var j=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 S(e){y=e}function E(){return y}var N={type:"3rdParty",init:function(e){O(e.options.react),S(e)}};function x(e){return function(n){return new Promise((function(t){var r=I();e.getInitialProps?e.getInitialProps(n).then((function(e){t(c(c({},e),r))})):t(r)}))}}function I(){var e=E(),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 k(){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 P={};function R(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];"string"==typeof n[0]&&P[n[0]]||("string"==typeof n[0]&&(P[n[0]]=new Date),k.apply(void 0,n))}function C(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 A(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!n.languages||!n.languages.length)return R("i18n.languages were undefined or empty",n.languages),!0;var r=n.languages[0],i=!!n.options&&n.options.fallbackLng,o=n.languages[n.languages.length-1];if("cimode"===r.toLowerCase())return!0;var a=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&&!a(n.isLanguageChangingTo,e))&&(!!n.hasResourceBundle(r,e)||(!n.services.backendConnector.backend||!(!a(r,e)||i&&!a(o,e))))}function T(e){return e.displayName||e.name||("string"==typeof e&&e.length>0?e:"Unknown")}function L(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&&e.children?e.children:e.props&&e.props.children:[]}function D(e){return Array.isArray(e)?e:[e]}function B(e,n,i,o,a){if(""===n)return[];var s=o.transKeepBasicHtmlNodesFor||[],u=n&&new RegExp(s.join("|")).test(n);if(!e&&!u)return[n];var l={};!function e(n){D(n).forEach((function(n){"string"!=typeof n&&(L(n)?e(z(n)):"object"!==r(n)||t.isValidElement(n)||Object.assign(l,n))}))}(e);var f=i.services.interpolator.interpolate(n,c(c({},l),a),i.language),p=h("<0>".concat(f,"</0>"));function d(e,n,r){var i=z(e),o=m(i,n.children,r);return function(e){return"[object Array]"===Object.prototype.toString.call(e)&&e.every((function(e){return t.isValidElement(e)}))}(i)&&0===o.length?i:o}function g(e,n,r,i,o){e.dummy&&(e.children=n),r.push(t.cloneElement(e,c(c({},e.props),{},{key:i}),o?void 0:n))}function m(n,i,a){var l=D(n);return D(i).reduce((function(n,i,f){var p,y,h,v=i.children&&i.children[0]&&i.children[0].content;if("tag"===i.type){var b=l[parseInt(i.name,10)];!b&&1===a.length&&a[0][i.name]&&(b=a[0][i.name]),b||(b={});var O=0!==Object.keys(i.attrs).length?(p={props:i.attrs},(h=c({},y=b)).props=Object.assign(p.props,y.props),h):b,w=t.isValidElement(O),j=w&&L(i,!0)&&!i.voidElement,S=u&&"object"===r(O)&&O.dummy&&!w,E="object"===r(e)&&null!==e&&Object.hasOwnProperty.call(e,i.name);if("string"==typeof O)n.push(O);else if(L(O)||j){g(O,d(O,i,a),n,f)}else if(S){var N=m(l,i.children,a);n.push(t.cloneElement(O,c(c({},O.props),{},{key:f}),N))}else if(Number.isNaN(parseFloat(i.name))){if(E)g(O,d(O,i,a),n,f,i.voidElement);else if(o.transSupportBasicHtmlNodes&&s.indexOf(i.name)>-1)if(i.voidElement)n.push(t.createElement(i.name,{key:"".concat(i.name,"-").concat(f)}));else{var x=m(l,i.children,a);n.push(t.createElement(i.name,{key:"".concat(i.name,"-").concat(f)},x))}else if(i.voidElement)n.push("<".concat(i.name," />"));else{var I=m(l,i.children,a);n.push("<".concat(i.name,">").concat(I,"</").concat(i.name,">"))}}else if("object"!==r(O)||w)1===i.children.length&&v?n.push(t.cloneElement(O,c(c({},O.props),{},{key:f}),v)):n.push(t.cloneElement(O,c(c({},O.props),{},{key:f})));else{var k=i.children[0]?v:null;k&&n.push(k)}}else"text"===i.type&&n.push(i.content);return n}),[])}return z(m([{dummy:!0,children:e}],p,D(e||[]))[0])}function U(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.i18n,i=n.useContext(b)||{},o=i.i18n,a=i.defaultNS,s=r||o||E();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new j),!s){R("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}s.options.react&&void 0!==s.options.react.wait&&R("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var p=c(c(c({},w()),s.options.react),t),d=p.useSuspense,g=e||a||s.options&&s.options.defaultNS;g="string"==typeof g?[g]:g||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(g);var m=(s.isInitialized||s.initializedStoreOnce)&&g.every((function(e){return A(e,s,p)}));function y(){return{t:s.getFixedT(null,"fallback"===p.nsMode?g:g[0])}}var h=n.useState(y()),v=u(h,2),O=v[0],S=v[1],N=n.useRef(!0);n.useEffect((function(){var e=p.bindI18n,n=p.bindI18nStore;function t(){N.current&&S(y())}return N.current=!0,m||d||C(s,g,(function(){N.current&&S(y())})),e&&s&&s.on(e,t),n&&s&&s.store.on(n,t),function(){N.current=!1,e&&s&&e.split(" ").forEach((function(e){return s.off(e,t)})),n&&s&&n.split(" ").forEach((function(e){return s.store.off(e,t)}))}}),[s,g.join()]);var x=n.useRef(!0);n.useEffect((function(){N.current&&!x.current&&S(y()),x.current=!1}),[s]);var I=[O.t,s,m];if(I.t=O.t,I.i18n=s,I.ready=m,m)return I;if(!m&&!d)return I;throw new Promise((function(e){C(s,g,(function(){e()}))}))}function V(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=r.i18n,o=n.useContext(b)||{},a=o.i18n,c=i||a||E();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))}e.I18nContext=b,e.I18nextProvider=function(e){var t=e.i18n,r=e.defaultNS,i=e.children,o=n.useMemo((function(){return{i18n:t,defaultNS:r}}),[t,r]);return n.createElement(b.Provider,{value:o},i)},e.Trans=function(e){var i=e.children,o=e.count,a=e.parent,u=e.i18nKey,l=e.tOptions,f=void 0===l?{}:l,p=e.values,d=e.defaults,g=e.components,m=e.ns,y=e.i18n,h=e.t,v=s(e,["children","count","parent","i18nKey","tOptions","values","defaults","components","ns","i18n","t"]),O=n.useContext(b)||{},j=O.i18n,S=O.defaultNS,N=y||j||E();if(!N)return R("You will need to pass in an i18next instance by using i18nextReactModule"),i;var x=h||N.t.bind(N)||function(e){return e},I=c(c({},w()),N.options&&N.options.react),P=m||x.ns||S||N.options&&N.options.defaultNS;P="string"==typeof P?[P]:P||["translation"];var C=d||function e(n,i){if(!n)return"";var o="",a=D(n),c=i.transKeepBasicHtmlNodesFor||[];return a.forEach((function(n,a){if("string"==typeof n)o+="".concat(n);else if(t.isValidElement(n)){var u=Object.keys(n.props).length,l=c.indexOf(n.type)>-1,f=n.props.children;if(!f&&l&&0===u)o+="<".concat(n.type,"/>");else if(f||l&&0===u)if(n.props.i18nIsDynamicList)o+="<".concat(a,"></").concat(a,">");else if(l&&1===u&&"string"==typeof f)o+="<".concat(n.type,">").concat(f,"</").concat(n.type,">");else{var p=e(f,i);o+="<".concat(a,">").concat(p,"</").concat(a,">")}else o+="<".concat(a,"></").concat(a,">")}else if("object"===r(n)){var d=n.format,g=s(n,["format"]),m=Object.keys(g);if(1===m.length){var y=d?"".concat(m[0],", ").concat(d):m[0];o+="{{".concat(y,"}}")}else k("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",n)}else k("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}}.",n)})),o}(i,I)||I.transEmptyNodeValue||u,A=I.hashTransKey,T=u||(A?A(C):C),L=p?f.interpolation:{interpolation:c(c({},f.interpolation),{},{prefix:"#$?",suffix:"?$#"})},z=c(c(c(c({},f),{},{count:o},p),L),{},{defaultValue:C,ns:P}),U=B(g||i,T?x(T,z):C,N,I,z),V=void 0!==a?a:I.defaultTransParent;return V?t.createElement(V,v,U):U},e.Translation=function(e){var n=e.ns,t=e.children,r=u(U(n,s(e,["ns","children"])),3),i=r[0],o=r[1],a=r[2];return t(i,{i18n:o,lng:o.language},a)},e.composeInitialProps=x,e.getDefaults=w,e.getI18n=E,e.getInitialProps=I,e.initReactI18next=N,e.setDefaults=O,e.setI18n=S,e.useSSR=V,e.useTranslation=U,e.withSSR=function(){return function(e){function n(n){var r=n.initialI18nStore,i=n.initialLanguage,o=s(n,["initialI18nStore","initialLanguage"]);return V(r,i),t.createElement(e,c({},o))}return n.getInitialProps=x(e),n.displayName="withI18nextSSR(".concat(T(e),")"),n.WrappedComponent=e,n}},e.withTranslation=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(r){function i(i){var o=i.forwardedRef,a=s(i,["forwardedRef"]),l=u(U(e,a),3),f=l[0],p=l[1],d=l[2],g=c(c({},a),{},{t:f,i18n:p,tReady:d});return n.withRef&&o?g.ref=o:!n.withRef&&o&&(g.forwardedRef=o),t.createElement(r,g)}i.displayName="withI18nextTranslation(".concat(T(r),")"),i.WrappedComponent=r;return n.withRef?t.forwardRef((function(e,n){return t.createElement(i,Object.assign({},e,{forwardedRef:n}))})):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";var t="default"in n?n.default:n;function r(e){return(r="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 a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(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 c(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return 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 u(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var t=[],r=!0,i=!1,a=void 0;try{for(var o,c=e[Symbol.iterator]();!(r=(o=c.next()).done)&&(t.push(o.value),!n||t.length!==n);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==c.return||c.return()}finally{if(i)throw a}}return t}(e,n)||function(e,n){if(!e)return;if("string"==typeof e)return l(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 l(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 l(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 f={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},p=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function d(e){var n={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},t=e.match(/<\/?([^\s]+?)[/\s>]/);if(t&&(n.name=t[1],(f[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(p),a=null;null!==(a=i.exec(e));)if(a[0].trim())if(a[1]){var o=a[1].trim(),c=[o,""];o.indexOf("=")>-1&&(c=o.split("=")),n.attrs[c[0]]=c[1],i.lastIndex--}else a[2]&&(n.attrs[a[2]]=a[3].trim().substring(1,a[3].length-1));return n}var m=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,h=/^\s*$/,g=Object.create(null);var y,v=function(e,n){n||(n={}),n.components||(n.components=g);var t,r=[],i=[],a=-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(m,(function(c,s){if(o){if(c!=="</"+t.name+">")return;o=!1}var u,l="/"!==c.charAt(1),f=c.startsWith("\x3c!--"),p=s+c.length,m=e.charAt(p);if(f){var g=d(c);return a<0?(r.push(g),r):((u=i[a]).children.push(g),r)}if(l&&(a++,"tag"===(t=d(c)).type&&n.components[t.name]&&(t.type="component",o=!0),t.voidElement||o||!m||"<"===m||t.children.push({type:"text",content:e.slice(p,e.indexOf("<",p))}),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===c.slice(2,-1))&&(a--,t=-1===a?r:i[a]),!o&&"<"!==m&&m)){u=-1===a?r:i[a].children;var y=e.indexOf("<",p),v=e.slice(p,-1===y?void 0:y);h.test(v)&&(v=" "),(y>-1&&a+u.length>=0||" "!==v)&&u.push({type:"text",content:v})}})),r},b={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0},O=t.createContext();function w(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};b=c(c({},b),e)}function j(){return b}var x=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 E(e){y=e}function S(){return y}var N={type:"3rdParty",init:function(e){w(e.options.react),E(e)}};function I(e){return function(n){return new Promise((function(t){var r=k();e.getInitialProps?e.getInitialProps(n).then((function(e){t(c(c({},e),r))})):t(r)}))}}function k(){var e=S(),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 P(){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 R={};function C(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];"string"==typeof n[0]&&R[n[0]]||("string"==typeof n[0]&&(R[n[0]]=new Date),P.apply(void 0,n))}function A(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 T(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!n.languages||!n.languages.length)return C("i18n.languages were undefined or empty",n.languages),!0;var 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||!(!o(r,e)||i&&!o(a,e))))}function z(e){return e.displayName||e.name||("string"==typeof e&&e.length>0?e:"Unknown")}function L(e,n){if(!e)return!1;var t=e.props?e.props.children:e.children;return n?t.length>0:!!t}function D(e){return e?e&&e.children?e.children:e.props&&e.props.children:[]}function B(e){return Array.isArray(e)?e:[e]}function U(e,n,i,a,o){if(""===n)return[];var s=a.transKeepBasicHtmlNodesFor||[],u=n&&new RegExp(s.join("|")).test(n);if(!e&&!u)return[n];var l={};!function e(n){B(n).forEach((function(n){"string"!=typeof n&&(L(n)?e(D(n)):"object"!==r(n)||t.isValidElement(n)||Object.assign(l,n))}))}(e);var f=i.services.interpolator.interpolate(n,c(c({},l),o),i.language),p=v("<0>".concat(f,"</0>"));function d(e,n,r){var i=D(e),a=h(i,n.children,r);return function(e){return"[object Array]"===Object.prototype.toString.call(e)&&e.every((function(e){return t.isValidElement(e)}))}(i)&&0===a.length?i:a}function m(e,n,r,i,a){e.dummy&&(e.children=n),r.push(t.cloneElement(e,c(c({},e.props),{},{key:i}),a?void 0:n))}function h(n,i,o){var l=B(n);return B(i).reduce((function(n,i,f){var p,g,y,v=i.children&&i.children[0]&&i.children[0].content;if("tag"===i.type){var b=l[parseInt(i.name,10)];!b&&1===o.length&&o[0][i.name]&&(b=o[0][i.name]),b||(b={});var O=0!==Object.keys(i.attrs).length?(p={props:i.attrs},(y=c({},g=b)).props=Object.assign(p.props,g.props),y):b,w=t.isValidElement(O),j=w&&L(i,!0)&&!i.voidElement,x=u&&"object"===r(O)&&O.dummy&&!w,E="object"===r(e)&&null!==e&&Object.hasOwnProperty.call(e,i.name);if("string"==typeof O)n.push(O);else if(L(O)||j){m(O,d(O,i,o),n,f)}else if(x){var S=h(l,i.children,o);n.push(t.cloneElement(O,c(c({},O.props),{},{key:f}),S))}else if(Number.isNaN(parseFloat(i.name))){if(E)m(O,d(O,i,o),n,f,i.voidElement);else if(a.transSupportBasicHtmlNodes&&s.indexOf(i.name)>-1)if(i.voidElement)n.push(t.createElement(i.name,{key:"".concat(i.name,"-").concat(f)}));else{var N=h(l,i.children,o);n.push(t.createElement(i.name,{key:"".concat(i.name,"-").concat(f)},N))}else if(i.voidElement)n.push("<".concat(i.name," />"));else{var I=h(l,i.children,o);n.push("<".concat(i.name,">").concat(I,"</").concat(i.name,">"))}}else if("object"!==r(O)||w)1===i.children.length&&v?n.push(t.cloneElement(O,c(c({},O.props),{},{key:f}),v)):n.push(t.cloneElement(O,c(c({},O.props),{},{key:f})));else{var k=i.children[0]?v:null;k&&n.push(k)}}else"text"===i.type&&n.push(i.content);return n}),[])}return D(h([{dummy:!0,children:e}],p,B(e||[]))[0])}function V(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.i18n,i=n.useContext(O)||{},a=i.i18n,o=i.defaultNS,s=r||a||S();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new x),!s){C("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}s.options.react&&void 0!==s.options.react.wait&&C("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var p=c(c(c({},j()),s.options.react),t),d=p.useSuspense,m=e||o||s.options&&s.options.defaultNS;m="string"==typeof m?[m]:m||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(m);var h=(s.isInitialized||s.initializedStoreOnce)&&m.every((function(e){return T(e,s,p)}));function g(){return s.getFixedT(null,"fallback"===p.nsMode?m:m[0])}var y=n.useState(g),v=u(y,2),b=v[0],w=v[1],E=n.useRef(!0);n.useEffect((function(){var e=p.bindI18n,n=p.bindI18nStore;function t(){E.current&&w(g)}return E.current=!0,h||d||A(s,m,(function(){E.current&&w(g)})),e&&s&&s.on(e,t),n&&s&&s.store.on(n,t),function(){E.current=!1,e&&s&&e.split(" ").forEach((function(e){return s.off(e,t)})),n&&s&&n.split(" ").forEach((function(e){return s.store.off(e,t)}))}}),[s,m.join()]);var N=n.useRef(!0);n.useEffect((function(){E.current&&!N.current&&w(g),N.current=!1}),[s]);var I=[b,s,h];if(I.t=b,I.i18n=s,I.ready=h,h)return I;if(!h&&!d)return I;throw new Promise((function(e){A(s,m,(function(){e()}))}))}function K(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=r.i18n,a=n.useContext(O)||{},o=a.i18n,c=i||o||S();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))}e.I18nContext=O,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(O.Provider,{value:a},i)},e.Trans=function(e){var i=e.children,a=e.count,o=e.parent,u=e.i18nKey,l=e.tOptions,f=void 0===l?{}:l,p=e.values,d=e.defaults,m=e.components,h=e.ns,g=e.i18n,y=e.t,v=s(e,["children","count","parent","i18nKey","tOptions","values","defaults","components","ns","i18n","t"]),b=n.useContext(O)||{},w=b.i18n,x=b.defaultNS,E=g||w||S();if(!E)return C("You will need to pass in an i18next instance by using i18nextReactModule"),i;var N=y||E.t.bind(E)||function(e){return e},I=c(c({},j()),E.options&&E.options.react),k=h||N.ns||x||E.options&&E.options.defaultNS;k="string"==typeof k?[k]:k||["translation"];var R=d||function e(n,i){if(!n)return"";var a="",o=B(n),c=i.transKeepBasicHtmlNodesFor||[];return o.forEach((function(n,o){if("string"==typeof n)a+="".concat(n);else if(t.isValidElement(n)){var u=Object.keys(n.props).length,l=c.indexOf(n.type)>-1,f=n.props.children;if(!f&&l&&0===u)a+="<".concat(n.type,"/>");else if(f||l&&0===u)if(n.props.i18nIsDynamicList)a+="<".concat(o,"></").concat(o,">");else if(l&&1===u&&"string"==typeof f)a+="<".concat(n.type,">").concat(f,"</").concat(n.type,">");else{var p=e(f,i);a+="<".concat(o,">").concat(p,"</").concat(o,">")}else a+="<".concat(o,"></").concat(o,">")}else if(null===n)P("Trans: the passed in value is invalid - seems you passed in a null child.");else if("object"===r(n)){var d=n.format,m=s(n,["format"]),h=Object.keys(m);if(1===h.length){var g=d?"".concat(h[0],", ").concat(d):h[0];a+="{{".concat(g,"}}")}else P("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",n)}else P("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}}.",n)})),a}(i,I)||I.transEmptyNodeValue||u,A=I.hashTransKey,T=u||(A?A(R):R),z=p?f.interpolation:{interpolation:c(c({},f.interpolation),{},{prefix:"#$?",suffix:"?$#"})},L=c(c(c(c({},f),{},{count:a},p),z),{},{defaultValue:R,ns:k}),D=U(m||i,T?N(T,L):R,E,I,L),V=void 0!==o?o:I.defaultTransParent;return V?t.createElement(V,v,D):D},e.Translation=function(e){var n=e.ns,t=e.children,r=u(V(n,s(e,["ns","children"])),3),i=r[0],a=r[1],o=r[2];return t(i,{i18n:a,lng:a.language},o)},e.composeInitialProps=I,e.getDefaults=j,e.getI18n=S,e.getInitialProps=k,e.initReactI18next=N,e.setDefaults=w,e.setI18n=E,e.useSSR=K,e.useTranslation=V,e.withSSR=function(){return function(e){function n(n){var r=n.initialI18nStore,i=n.initialLanguage,a=s(n,["initialI18nStore","initialLanguage"]);return K(r,i),t.createElement(e,c({},a))}return n.getInitialProps=I(e),n.displayName="withI18nextSSR(".concat(z(e),")"),n.WrappedComponent=e,n}},e.withTranslation=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(r){function i(i){var a=i.forwardedRef,o=s(i,["forwardedRef"]),l=u(V(e,o),3),f=l[0],p=l[1],d=l[2],m=c(c({},o),{},{t:f,i18n:p,tReady:d});return n.withRef&&a?m.ref=a:!n.withRef&&a&&(m.forwardedRef=a),t.createElement(r,m)}i.displayName="withI18nextTranslation(".concat(z(r),")"),i.WrappedComponent=r;return n.withRef?t.forwardRef((function(e,n){return t.createElement(i,Object.assign({},e,{forwardedRef:n}))})):i}},Object.defineProperty(e,"__esModule",{value:!0})}));
|
package/src/Trans.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useContext } from 'react';
|
|
2
|
-
import HTML from 'html-parse-
|
|
2
|
+
import HTML from 'html-parse-stringify';
|
|
3
3
|
import { getI18n, I18nContext, getDefaults } from './context';
|
|
4
4
|
import { warn, warnOnce } from './utils';
|
|
5
5
|
|
|
@@ -17,7 +17,7 @@ function getChildren(node) {
|
|
|
17
17
|
|
|
18
18
|
function hasValidReactChildren(children) {
|
|
19
19
|
if (Object.prototype.toString.call(children) !== '[object Array]') return false;
|
|
20
|
-
return children.every(child => React.isValidElement(child));
|
|
20
|
+
return children.every((child) => React.isValidElement(child));
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
function getAsArray(data) {
|
|
@@ -72,6 +72,8 @@ export function nodesToString(children, i18nOptions) {
|
|
|
72
72
|
const content = nodesToString(childChildren, i18nOptions);
|
|
73
73
|
stringNode += `<${childIndex}>${content}</${childIndex}>`;
|
|
74
74
|
}
|
|
75
|
+
} else if (child === null) {
|
|
76
|
+
warn(`Trans: the passed in value is invalid - seems you passed in a null child.`);
|
|
75
77
|
} else if (typeof child === 'object') {
|
|
76
78
|
// e.g. lorem {{ value, format }} ipsum
|
|
77
79
|
const { format, ...clone } = child;
|
|
@@ -115,7 +117,7 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts) {
|
|
|
115
117
|
function getData(childs) {
|
|
116
118
|
const childrenArray = getAsArray(childs);
|
|
117
119
|
|
|
118
|
-
childrenArray.forEach(child => {
|
|
120
|
+
childrenArray.forEach((child) => {
|
|
119
121
|
if (typeof child === 'string') return;
|
|
120
122
|
if (hasChildren(child)) getData(getChildren(child));
|
|
121
123
|
else if (typeof child === 'object' && !React.isValidElement(child))
|
|
@@ -275,7 +277,7 @@ export function Trans({
|
|
|
275
277
|
return children;
|
|
276
278
|
}
|
|
277
279
|
|
|
278
|
-
const t = tFromProps || i18n.t.bind(i18n) || (k => k);
|
|
280
|
+
const t = tFromProps || i18n.t.bind(i18n) || ((k) => k);
|
|
279
281
|
|
|
280
282
|
const reactI18nextOptions = { ...getDefaults(), ...(i18n.options && i18n.options.react) };
|
|
281
283
|
|
package/src/useTranslation.js
CHANGED
|
@@ -40,11 +40,9 @@ export function useTranslation(ns, props = {}) {
|
|
|
40
40
|
|
|
41
41
|
// binding t function to namespace (acts also as rerender trigger)
|
|
42
42
|
function getT() {
|
|
43
|
-
return
|
|
44
|
-
t: i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0]),
|
|
45
|
-
};
|
|
43
|
+
return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0]);
|
|
46
44
|
}
|
|
47
|
-
const [t, setT] = useState(getT
|
|
45
|
+
const [t, setT] = useState(getT);
|
|
48
46
|
|
|
49
47
|
const isMounted = useRef(true);
|
|
50
48
|
useEffect(() => {
|
|
@@ -55,12 +53,12 @@ export function useTranslation(ns, props = {}) {
|
|
|
55
53
|
// in side effect and do not call resetT if unmounted
|
|
56
54
|
if (!ready && !useSuspense) {
|
|
57
55
|
loadNamespaces(i18n, namespaces, () => {
|
|
58
|
-
if (isMounted.current) setT(getT
|
|
56
|
+
if (isMounted.current) setT(getT);
|
|
59
57
|
});
|
|
60
58
|
}
|
|
61
59
|
|
|
62
60
|
function boundReset() {
|
|
63
|
-
if (isMounted.current) setT(getT
|
|
61
|
+
if (isMounted.current) setT(getT);
|
|
64
62
|
}
|
|
65
63
|
|
|
66
64
|
// bind events to trigger change, like languageChanged
|
|
@@ -81,13 +79,13 @@ export function useTranslation(ns, props = {}) {
|
|
|
81
79
|
const isInitial = useRef(true);
|
|
82
80
|
useEffect(() => {
|
|
83
81
|
if (isMounted.current && !isInitial.current) {
|
|
84
|
-
setT(getT
|
|
82
|
+
setT(getT);
|
|
85
83
|
}
|
|
86
84
|
isInitial.current = false;
|
|
87
85
|
}, [i18n]); // re-run when i18n instance was replaced
|
|
88
86
|
|
|
89
|
-
const ret = [t
|
|
90
|
-
ret.t = t
|
|
87
|
+
const ret = [t, i18n, ready];
|
|
88
|
+
ret.t = t;
|
|
91
89
|
ret.i18n = i18n;
|
|
92
90
|
ret.ready = ready;
|
|
93
91
|
|