@bleedingdev/modern-js-plugin-i18n 3.5.0-ultramodern.6 → 3.5.0-ultramodern.76
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/dist/cjs/cli/index.js +2 -1
- package/dist/cjs/cli/locales.js +15 -15
- package/dist/cjs/runtime/Link.js +8 -89
- package/dist/cjs/runtime/context.js +78 -91
- package/dist/cjs/runtime/contextHelpers.js +143 -0
- package/dist/cjs/runtime/core.js +32 -132
- package/dist/cjs/runtime/hooks.js +54 -21
- package/dist/cjs/runtime/i18n/backend/defaults.node.js +7 -7
- package/dist/cjs/runtime/i18n/detection/cache.js +150 -0
- package/dist/cjs/runtime/i18n/detection/detector.js +100 -0
- package/dist/cjs/runtime/i18n/detection/index.js +8 -263
- package/dist/cjs/runtime/i18n/detection/initOptions.js +69 -0
- package/dist/cjs/runtime/i18n/detection/language.js +62 -0
- package/dist/cjs/runtime/i18n/detection/path.js +49 -0
- package/dist/cjs/runtime/i18n/detection/priority.js +66 -0
- package/dist/cjs/runtime/i18n/detection/ssr.js +70 -0
- package/dist/cjs/runtime/i18n/detection/types.js +18 -0
- package/dist/cjs/runtime/i18n/instance.js +34 -10
- package/dist/cjs/runtime/linkHelpers.js +148 -0
- package/dist/cjs/runtime/pluginSetup.js +102 -0
- package/dist/cjs/runtime/providerComposition.js +115 -0
- package/dist/cjs/runtime/reactI18next.js +43 -0
- package/dist/cjs/runtime/routerAdapter.js +16 -8
- package/dist/cjs/runtime/utils.js +1 -9
- package/dist/cjs/server/apiPrefix.js +72 -0
- package/dist/cjs/server/detectorOptions.js +97 -0
- package/dist/cjs/server/index.js +17 -144
- package/dist/cjs/server/redirectPolicy.js +96 -0
- package/dist/cjs/shared/detection.js +2 -104
- package/dist/cjs/shared/localisedUrls/config.js +49 -0
- package/dist/cjs/shared/localisedUrls/index.js +91 -0
- package/dist/cjs/shared/localisedUrls/normalise.js +87 -0
- package/dist/cjs/shared/localisedUrls/pathname.js +68 -0
- package/dist/cjs/shared/localisedUrls/patterns.js +130 -0
- package/dist/cjs/shared/localisedUrls/redirect.js +103 -0
- package/dist/cjs/shared/localisedUrls/resolve.js +88 -0
- package/dist/cjs/shared/localisedUrls/routes.js +130 -0
- package/dist/cjs/shared/localisedUrls/types.js +18 -0
- package/dist/cjs/shared/localisedUrls.js +28 -294
- package/dist/cjs/shared/utils.js +2 -8
- package/dist/esm/cli/index.mjs +2 -1
- package/dist/esm/cli/locales.mjs +13 -13
- package/dist/esm/runtime/Link.mjs +1 -82
- package/dist/esm/runtime/context.mjs +76 -92
- package/dist/esm/runtime/contextHelpers.mjs +87 -0
- package/dist/esm/runtime/core.mjs +30 -133
- package/dist/esm/runtime/hooks.mjs +56 -23
- package/dist/esm/runtime/i18n/backend/defaults.node.mjs +5 -5
- package/dist/esm/runtime/i18n/detection/cache.mjs +103 -0
- package/dist/esm/runtime/i18n/detection/detector.mjs +62 -0
- package/dist/esm/runtime/i18n/detection/index.mjs +4 -260
- package/dist/esm/runtime/i18n/detection/initOptions.mjs +28 -0
- package/dist/esm/runtime/i18n/detection/language.mjs +21 -0
- package/dist/esm/runtime/i18n/detection/path.mjs +11 -0
- package/dist/esm/runtime/i18n/detection/priority.mjs +28 -0
- package/dist/esm/runtime/i18n/detection/ssr.mjs +26 -0
- package/dist/esm/runtime/i18n/detection/types.mjs +0 -0
- package/dist/esm/runtime/i18n/instance.mjs +35 -8
- package/dist/esm/runtime/linkHelpers.mjs +98 -0
- package/dist/esm/runtime/pluginSetup.mjs +64 -0
- package/dist/esm/runtime/providerComposition.mjs +77 -0
- package/dist/esm/runtime/reactI18next.mjs +5 -0
- package/dist/esm/runtime/routerAdapter.mjs +16 -8
- package/dist/esm/runtime/utils.mjs +2 -10
- package/dist/esm/server/apiPrefix.mjs +31 -0
- package/dist/esm/server/detectorOptions.mjs +59 -0
- package/dist/esm/server/index.mjs +8 -135
- package/dist/esm/server/redirectPolicy.mjs +46 -0
- package/dist/esm/shared/detection.mjs +1 -71
- package/dist/esm/shared/localisedUrls/config.mjs +11 -0
- package/dist/esm/shared/localisedUrls/index.mjs +7 -0
- package/dist/esm/shared/localisedUrls/normalise.mjs +37 -0
- package/dist/esm/shared/localisedUrls/pathname.mjs +24 -0
- package/dist/esm/shared/localisedUrls/patterns.mjs +86 -0
- package/dist/esm/shared/localisedUrls/redirect.mjs +56 -0
- package/dist/esm/shared/localisedUrls/resolve.mjs +47 -0
- package/dist/esm/shared/localisedUrls/routes.mjs +89 -0
- package/dist/esm/shared/localisedUrls/types.mjs +0 -0
- package/dist/esm/shared/localisedUrls.mjs +1 -283
- package/dist/esm/shared/utils.mjs +1 -1
- package/dist/esm-node/cli/index.mjs +2 -1
- package/dist/esm-node/cli/locales.mjs +13 -13
- package/dist/esm-node/runtime/Link.mjs +1 -82
- package/dist/esm-node/runtime/context.mjs +76 -92
- package/dist/esm-node/runtime/contextHelpers.mjs +88 -0
- package/dist/esm-node/runtime/core.mjs +30 -133
- package/dist/esm-node/runtime/hooks.mjs +56 -23
- package/dist/esm-node/runtime/i18n/backend/defaults.node.mjs +5 -5
- package/dist/esm-node/runtime/i18n/detection/cache.mjs +104 -0
- package/dist/esm-node/runtime/i18n/detection/detector.mjs +63 -0
- package/dist/esm-node/runtime/i18n/detection/index.mjs +4 -260
- package/dist/esm-node/runtime/i18n/detection/initOptions.mjs +29 -0
- package/dist/esm-node/runtime/i18n/detection/language.mjs +22 -0
- package/dist/esm-node/runtime/i18n/detection/path.mjs +12 -0
- package/dist/esm-node/runtime/i18n/detection/priority.mjs +29 -0
- package/dist/esm-node/runtime/i18n/detection/ssr.mjs +27 -0
- package/dist/esm-node/runtime/i18n/detection/types.mjs +1 -0
- package/dist/esm-node/runtime/i18n/instance.mjs +35 -8
- package/dist/esm-node/runtime/linkHelpers.mjs +99 -0
- package/dist/esm-node/runtime/pluginSetup.mjs +65 -0
- package/dist/esm-node/runtime/providerComposition.mjs +78 -0
- package/dist/esm-node/runtime/reactI18next.mjs +6 -0
- package/dist/esm-node/runtime/routerAdapter.mjs +16 -8
- package/dist/esm-node/runtime/utils.mjs +2 -10
- package/dist/esm-node/server/apiPrefix.mjs +32 -0
- package/dist/esm-node/server/detectorOptions.mjs +60 -0
- package/dist/esm-node/server/index.mjs +8 -135
- package/dist/esm-node/server/redirectPolicy.mjs +47 -0
- package/dist/esm-node/shared/detection.mjs +1 -71
- package/dist/esm-node/shared/localisedUrls/config.mjs +12 -0
- package/dist/esm-node/shared/localisedUrls/index.mjs +8 -0
- package/dist/esm-node/shared/localisedUrls/normalise.mjs +38 -0
- package/dist/esm-node/shared/localisedUrls/pathname.mjs +25 -0
- package/dist/esm-node/shared/localisedUrls/patterns.mjs +87 -0
- package/dist/esm-node/shared/localisedUrls/redirect.mjs +57 -0
- package/dist/esm-node/shared/localisedUrls/resolve.mjs +48 -0
- package/dist/esm-node/shared/localisedUrls/routes.mjs +90 -0
- package/dist/esm-node/shared/localisedUrls/types.mjs +1 -0
- package/dist/esm-node/shared/localisedUrls.mjs +1 -283
- package/dist/esm-node/shared/utils.mjs +1 -1
- package/dist/types/cli/locales.d.ts +1 -1
- package/dist/types/runtime/Link.d.ts +3 -7
- package/dist/types/runtime/context.d.ts +21 -5
- package/dist/types/runtime/contextHelpers.d.ts +29 -0
- package/dist/types/runtime/core.d.ts +4 -8
- package/dist/types/runtime/hooks.d.ts +3 -7
- package/dist/types/runtime/i18n/backend/middleware.common.d.ts +2 -1
- package/dist/types/runtime/i18n/detection/cache.d.ts +14 -0
- package/dist/types/runtime/i18n/detection/detector.d.ts +8 -0
- package/dist/types/runtime/i18n/detection/index.d.ts +5 -50
- package/dist/types/runtime/i18n/detection/initOptions.d.ts +10 -0
- package/dist/types/runtime/i18n/detection/language.d.ts +11 -0
- package/dist/types/runtime/i18n/detection/middleware.d.ts +4 -4
- package/dist/types/runtime/i18n/detection/middleware.node.d.ts +4 -4
- package/dist/types/runtime/i18n/detection/path.d.ts +5 -0
- package/dist/types/runtime/i18n/detection/priority.d.ts +10 -0
- package/dist/types/runtime/i18n/detection/ssr.d.ts +9 -0
- package/dist/types/runtime/i18n/detection/types.d.ts +32 -0
- package/dist/types/runtime/i18n/instance.d.ts +31 -27
- package/dist/types/runtime/i18n/react-i18next.d.ts +1 -6
- package/dist/types/runtime/i18n/utils.d.ts +14 -5
- package/dist/types/runtime/linkHelpers.d.ts +17 -0
- package/dist/types/runtime/pluginSetup.d.ts +32 -0
- package/dist/types/runtime/providerComposition.d.ts +16 -0
- package/dist/types/runtime/reactI18next.d.ts +7 -0
- package/dist/types/runtime/routerAdapter.d.ts +7 -6
- package/dist/types/runtime/utils.d.ts +7 -2
- package/dist/types/server/apiPrefix.d.ts +7 -0
- package/dist/types/server/detectorOptions.d.ts +21 -0
- package/dist/types/server/index.d.ts +1 -6
- package/dist/types/server/redirectPolicy.d.ts +22 -0
- package/dist/types/shared/detection.d.ts +1 -11
- package/dist/types/shared/localisedUrls/config.d.ts +9 -0
- package/dist/types/shared/localisedUrls/index.d.ts +9 -0
- package/dist/types/shared/localisedUrls/normalise.d.ts +10 -0
- package/dist/types/shared/localisedUrls/pathname.d.ts +4 -0
- package/dist/types/shared/localisedUrls/patterns.d.ts +5 -0
- package/dist/types/shared/localisedUrls/redirect.d.ts +11 -0
- package/dist/types/shared/localisedUrls/resolve.d.ts +7 -0
- package/dist/types/shared/localisedUrls/routes.d.ts +3 -0
- package/dist/types/shared/localisedUrls/types.d.ts +14 -0
- package/dist/types/shared/localisedUrls.d.ts +2 -36
- package/dist/types/shared/utils.d.ts +0 -2
- package/package.json +17 -20
- package/rstest.config.mts +8 -1
- package/src/cli/index.ts +5 -4
- package/src/cli/locales.ts +3 -3
- package/src/runtime/Link.tsx +11 -138
- package/src/runtime/context.tsx +170 -207
- package/src/runtime/contextHelpers.ts +242 -0
- package/src/runtime/core.tsx +48 -275
- package/src/runtime/hooks.ts +86 -24
- package/src/runtime/i18n/backend/defaults.node.ts +2 -2
- package/src/runtime/i18n/backend/middleware.common.ts +5 -4
- package/src/runtime/i18n/detection/cache.ts +189 -0
- package/src/runtime/i18n/detection/detector.ts +166 -0
- package/src/runtime/i18n/detection/index.ts +10 -641
- package/src/runtime/i18n/detection/initOptions.ts +74 -0
- package/src/runtime/i18n/detection/language.ts +64 -0
- package/src/runtime/i18n/detection/middleware.node.ts +26 -7
- package/src/runtime/i18n/detection/middleware.ts +15 -7
- package/src/runtime/i18n/detection/path.ts +41 -0
- package/src/runtime/i18n/detection/priority.ts +82 -0
- package/src/runtime/i18n/detection/ssr.ts +47 -0
- package/src/runtime/i18n/detection/types.ts +41 -0
- package/src/runtime/i18n/instance.ts +98 -34
- package/src/runtime/i18n/react-i18next.ts +1 -6
- package/src/runtime/i18n/utils.ts +18 -9
- package/src/runtime/linkHelpers.ts +174 -0
- package/src/runtime/pluginSetup.ts +189 -0
- package/src/runtime/providerComposition.tsx +148 -0
- package/src/runtime/reactI18next.ts +20 -0
- package/src/runtime/routerAdapter.tsx +36 -15
- package/src/runtime/utils.ts +13 -35
- package/src/server/apiPrefix.ts +67 -0
- package/src/server/detectorOptions.ts +105 -0
- package/src/server/index.ts +14 -319
- package/src/server/redirectPolicy.ts +127 -0
- package/src/shared/detection.ts +1 -1
- package/src/shared/localisedUrls/config.ts +18 -0
- package/src/shared/localisedUrls/index.ts +24 -0
- package/src/shared/localisedUrls/normalise.ts +67 -0
- package/src/shared/localisedUrls/pathname.ts +60 -0
- package/src/shared/localisedUrls/patterns.ts +160 -0
- package/src/shared/localisedUrls/redirect.ts +93 -0
- package/src/shared/localisedUrls/resolve.ts +135 -0
- package/src/shared/localisedUrls/routes.ts +234 -0
- package/src/shared/localisedUrls/types.ts +18 -0
- package/src/shared/localisedUrls.ts +26 -623
- package/src/shared/utils.ts +2 -2
- package/tests/federatedI18nBoundary.client.test.tsx +112 -0
- package/tests/federatedI18nBoundary.test.tsx +120 -0
- package/tests/fixtures/localised-routes.golden.json +156 -0
- package/tests/link.test.tsx +111 -0
- package/tests/localisedUrlRewriteMatrix.fork.test.ts +147 -0
- package/tests/localisedUrls.test.ts +148 -2
- package/tests/reactI18nextRuntimeBoundary.test.ts +6 -3
- package/tests/redirectPolicy.test.ts +45 -0
- package/tests/routerAdapter.test.tsx +603 -0
- package/tests/type-fixture/fixture-globals.d.ts +11 -0
- package/tests/type-fixture/tsconfig.json +1 -0
|
@@ -28,272 +28,17 @@ var __webpack_require__ = {};
|
|
|
28
28
|
var __webpack_exports__ = {};
|
|
29
29
|
__webpack_require__.r(__webpack_exports__);
|
|
30
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
-
buildInitOptions: ()=>buildInitOptions,
|
|
31
|
+
buildInitOptions: ()=>external_initOptions_js_namespaceObject.buildInitOptions,
|
|
32
32
|
cacheUserLanguage: ()=>external_middleware_js_namespaceObject.cacheUserLanguage,
|
|
33
|
-
detectLanguageWithPriority: ()=>detectLanguageWithPriority,
|
|
34
|
-
exportServerLngToWindow: ()=>exportServerLngToWindow,
|
|
35
|
-
getLanguageFromSSRData: ()=>getLanguageFromSSRData,
|
|
36
|
-
mergeDetectionOptions: ()=>mergeDetectionOptions
|
|
33
|
+
detectLanguageWithPriority: ()=>external_priority_js_namespaceObject.detectLanguageWithPriority,
|
|
34
|
+
exportServerLngToWindow: ()=>external_ssr_js_namespaceObject.exportServerLngToWindow,
|
|
35
|
+
getLanguageFromSSRData: ()=>external_ssr_js_namespaceObject.getLanguageFromSSRData,
|
|
36
|
+
mergeDetectionOptions: ()=>external_initOptions_js_namespaceObject.mergeDetectionOptions
|
|
37
37
|
});
|
|
38
|
-
const
|
|
39
|
-
const external_utils_js_namespaceObject = require("../../utils.js");
|
|
40
|
-
const external_instance_js_namespaceObject = require("../instance.js");
|
|
41
|
-
const external_config_js_namespaceObject = require("./config.js");
|
|
38
|
+
const external_initOptions_js_namespaceObject = require("./initOptions.js");
|
|
42
39
|
const external_middleware_js_namespaceObject = require("./middleware.js");
|
|
43
|
-
const
|
|
44
|
-
const
|
|
45
|
-
'lowerCaseLng',
|
|
46
|
-
'nonExplicitSupportedLngs',
|
|
47
|
-
'load',
|
|
48
|
-
'partialBundledLanguages',
|
|
49
|
-
'returnNull',
|
|
50
|
-
'returnEmptyString',
|
|
51
|
-
'returnObjects',
|
|
52
|
-
'joinArrays',
|
|
53
|
-
'keySeparator',
|
|
54
|
-
'nsSeparator',
|
|
55
|
-
'pluralSeparator',
|
|
56
|
-
'contextSeparator',
|
|
57
|
-
'fallbackNS',
|
|
58
|
-
'ns',
|
|
59
|
-
'defaultNS',
|
|
60
|
-
'debug'
|
|
61
|
-
];
|
|
62
|
-
const stableStringify = (value)=>{
|
|
63
|
-
if (null == value) return JSON.stringify(value);
|
|
64
|
-
if ('object' != typeof value) return JSON.stringify(value);
|
|
65
|
-
if (Array.isArray(value)) return `[${value.map((item)=>stableStringify(item)).join(',')}]`;
|
|
66
|
-
const sortedKeys = Object.keys(value).sort();
|
|
67
|
-
const sortedEntries = sortedKeys.map((key)=>{
|
|
68
|
-
const stringifiedValue = stableStringify(value[key]);
|
|
69
|
-
return `${JSON.stringify(key)}:${stringifiedValue}`;
|
|
70
|
-
});
|
|
71
|
-
return `{${sortedEntries.join(',')}}`;
|
|
72
|
-
};
|
|
73
|
-
const buildDetectorConfigKey = (languages, fallbackLanguage, mergedDetection)=>stableStringify({
|
|
74
|
-
languages,
|
|
75
|
-
fallbackLanguage,
|
|
76
|
-
detection: mergedDetection
|
|
77
|
-
});
|
|
78
|
-
const pickSafeDetectionOptions = (userInitOptions)=>{
|
|
79
|
-
if (!userInitOptions) return {};
|
|
80
|
-
const safeOptions = {};
|
|
81
|
-
for (const key of DETECTOR_SAFE_OPTION_KEYS){
|
|
82
|
-
const value = userInitOptions[key];
|
|
83
|
-
if (void 0 !== value) safeOptions[key] = value;
|
|
84
|
-
}
|
|
85
|
-
if (userInitOptions.interpolation) safeOptions.interpolation = {
|
|
86
|
-
...userInitOptions.interpolation
|
|
87
|
-
};
|
|
88
|
-
return safeOptions;
|
|
89
|
-
};
|
|
90
|
-
const cleanupDetectorCacheEntry = (entry)=>{
|
|
91
|
-
if (!entry || !entry.isTemporary) return;
|
|
92
|
-
const instance = entry.instance;
|
|
93
|
-
try {
|
|
94
|
-
instance?.removeAllListeners?.();
|
|
95
|
-
} catch (error) {}
|
|
96
|
-
try {
|
|
97
|
-
instance?.off?.('*');
|
|
98
|
-
} catch (error) {}
|
|
99
|
-
try {
|
|
100
|
-
instance?.services?.backendConnector?.backend?.stop?.();
|
|
101
|
-
} catch (error) {}
|
|
102
|
-
try {
|
|
103
|
-
instance?.services?.backendConnector?.backend?.close?.();
|
|
104
|
-
} catch (error) {}
|
|
105
|
-
};
|
|
106
|
-
function exportServerLngToWindow(context, lng) {
|
|
107
|
-
context.__i18nData__ = {
|
|
108
|
-
lng
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
const getLanguageFromSSRData = (window1)=>{
|
|
112
|
-
try {
|
|
113
|
-
const ssrData = window1._SSR_DATA;
|
|
114
|
-
if (!ssrData || !ssrData.data || !ssrData.data.i18nData) return;
|
|
115
|
-
const lng = ssrData.data.i18nData.lng;
|
|
116
|
-
return 'string' == typeof lng && '' !== lng.trim() ? lng : void 0;
|
|
117
|
-
} catch (error) {
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
const normalizeLanguageCode = (language)=>{
|
|
122
|
-
if (!language) return language;
|
|
123
|
-
const baseLang = language.split('-')[0];
|
|
124
|
-
return baseLang;
|
|
125
|
-
};
|
|
126
|
-
const isLanguageSupported = (language, supportedLanguages)=>{
|
|
127
|
-
if (!language) return false;
|
|
128
|
-
if (0 === supportedLanguages.length) return true;
|
|
129
|
-
if (supportedLanguages.includes(language)) return true;
|
|
130
|
-
const baseLang = normalizeLanguageCode(language);
|
|
131
|
-
if (baseLang !== language && supportedLanguages.includes(baseLang)) return true;
|
|
132
|
-
return false;
|
|
133
|
-
};
|
|
134
|
-
const getSupportedLanguage = (language, supportedLanguages)=>{
|
|
135
|
-
if (!language) return;
|
|
136
|
-
if (0 === supportedLanguages.length) return language;
|
|
137
|
-
if (supportedLanguages.includes(language)) return language;
|
|
138
|
-
const baseLang = normalizeLanguageCode(language);
|
|
139
|
-
if (baseLang !== language && supportedLanguages.includes(baseLang)) return baseLang;
|
|
140
|
-
};
|
|
141
|
-
const detectLanguageFromSSR = (languages)=>{
|
|
142
|
-
if (!(0, runtime_namespaceObject.isBrowser)()) return;
|
|
143
|
-
try {
|
|
144
|
-
const ssrLanguage = getLanguageFromSSRData(window);
|
|
145
|
-
if (ssrLanguage && isLanguageSupported(ssrLanguage, languages)) return ssrLanguage;
|
|
146
|
-
} catch (error) {}
|
|
147
|
-
};
|
|
148
|
-
const detectLanguageFromPathPriority = (pathname, languages, localePathRedirect)=>{
|
|
149
|
-
if (!localePathRedirect) return;
|
|
150
|
-
if (!languages || 0 === languages.length) return;
|
|
151
|
-
if (!pathname || '' === pathname.trim()) return;
|
|
152
|
-
try {
|
|
153
|
-
const pathDetection = (0, external_utils_js_namespaceObject.detectLanguageFromPath)(pathname, languages, localePathRedirect);
|
|
154
|
-
if (true === pathDetection.detected && pathDetection.language) return pathDetection.language;
|
|
155
|
-
} catch (error) {}
|
|
156
|
-
};
|
|
157
|
-
const createDetectorInstance = (baseInstance, configKey)=>{
|
|
158
|
-
const cached = detectorInstanceCache.get(baseInstance);
|
|
159
|
-
if (cached && cached.configKey === configKey) return {
|
|
160
|
-
instance: cached.instance,
|
|
161
|
-
isTemporary: cached.isTemporary
|
|
162
|
-
};
|
|
163
|
-
if (cached) {
|
|
164
|
-
cleanupDetectorCacheEntry(cached);
|
|
165
|
-
detectorInstanceCache.delete(baseInstance);
|
|
166
|
-
}
|
|
167
|
-
const createNewInstance = ()=>{
|
|
168
|
-
if ('function' == typeof baseInstance.createInstance) try {
|
|
169
|
-
const created = baseInstance.createInstance();
|
|
170
|
-
if (created) return {
|
|
171
|
-
instance: created,
|
|
172
|
-
isTemporary: true
|
|
173
|
-
};
|
|
174
|
-
} catch (error) {}
|
|
175
|
-
if ('function' == typeof baseInstance.cloneInstance) try {
|
|
176
|
-
const cloned = baseInstance.cloneInstance();
|
|
177
|
-
if (cloned) return {
|
|
178
|
-
instance: cloned,
|
|
179
|
-
isTemporary: true
|
|
180
|
-
};
|
|
181
|
-
} catch (error) {}
|
|
182
|
-
return {
|
|
183
|
-
instance: baseInstance,
|
|
184
|
-
isTemporary: false
|
|
185
|
-
};
|
|
186
|
-
};
|
|
187
|
-
const created = createNewInstance();
|
|
188
|
-
if (created.isTemporary) detectorInstanceCache.set(baseInstance, {
|
|
189
|
-
instance: created.instance,
|
|
190
|
-
isTemporary: true,
|
|
191
|
-
configKey
|
|
192
|
-
});
|
|
193
|
-
return created;
|
|
194
|
-
};
|
|
195
|
-
const initializeI18nForDetector = async (i18nInstance, options)=>{
|
|
196
|
-
const mergedDetection = mergeDetectionOptions(options.i18nextDetector, options.detection, options.localePathRedirect, options.userInitOptions);
|
|
197
|
-
const configKey = buildDetectorConfigKey(options.languages, options.fallbackLanguage, mergedDetection);
|
|
198
|
-
const { instance, isTemporary } = createDetectorInstance(i18nInstance, configKey);
|
|
199
|
-
const safeUserOptions = pickSafeDetectionOptions(options.userInitOptions);
|
|
200
|
-
const initOptions = {
|
|
201
|
-
...safeUserOptions,
|
|
202
|
-
fallbackLng: options.fallbackLanguage,
|
|
203
|
-
supportedLngs: options.languages,
|
|
204
|
-
detection: mergedDetection,
|
|
205
|
-
initImmediate: true,
|
|
206
|
-
interpolation: {
|
|
207
|
-
...safeUserOptions?.interpolation || {},
|
|
208
|
-
escapeValue: safeUserOptions?.interpolation?.escapeValue ?? false
|
|
209
|
-
},
|
|
210
|
-
react: {
|
|
211
|
-
useSuspense: false
|
|
212
|
-
}
|
|
213
|
-
};
|
|
214
|
-
(0, external_middleware_js_namespaceObject.useI18nextLanguageDetector)(instance);
|
|
215
|
-
if (instance.isInitialized) {
|
|
216
|
-
if (isTemporary) await instance.init(initOptions);
|
|
217
|
-
} else await instance.init(initOptions);
|
|
218
|
-
return {
|
|
219
|
-
detectorInstance: instance,
|
|
220
|
-
isTemporary
|
|
221
|
-
};
|
|
222
|
-
};
|
|
223
|
-
const detectLanguageFromI18nextDetector = async (i18nInstance, options)=>{
|
|
224
|
-
if (!options.i18nextDetector) return;
|
|
225
|
-
const mergedDetection = mergeDetectionOptions(options.i18nextDetector, options.detection, options.localePathRedirect, options.userInitOptions);
|
|
226
|
-
const { detectorInstance, isTemporary } = await initializeI18nForDetector(i18nInstance, options);
|
|
227
|
-
try {
|
|
228
|
-
const request = options.ssrContext?.request;
|
|
229
|
-
if (!(0, runtime_namespaceObject.isBrowser)() && !request) return;
|
|
230
|
-
const detectorLang = (0, external_middleware_js_namespaceObject.detectLanguage)(detectorInstance, request, mergedDetection);
|
|
231
|
-
if (detectorLang) {
|
|
232
|
-
const supportedLang = getSupportedLanguage(detectorLang, options.languages);
|
|
233
|
-
if (supportedLang) return supportedLang;
|
|
234
|
-
}
|
|
235
|
-
if (detectorInstance.isInitialized && detectorInstance.language) {
|
|
236
|
-
const currentLang = detectorInstance.language;
|
|
237
|
-
if (isLanguageSupported(currentLang, options.languages)) return currentLang;
|
|
238
|
-
}
|
|
239
|
-
} catch (error) {} finally{
|
|
240
|
-
if (isTemporary && detectorInstance !== i18nInstance) detectorInstanceCache.set(i18nInstance, {
|
|
241
|
-
instance: detectorInstance,
|
|
242
|
-
isTemporary: true,
|
|
243
|
-
configKey: buildDetectorConfigKey(options.languages, options.fallbackLanguage, mergedDetection)
|
|
244
|
-
});
|
|
245
|
-
else if (detectorInstance === i18nInstance) {
|
|
246
|
-
i18nInstance.isInitialized = false;
|
|
247
|
-
delete i18nInstance.language;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
};
|
|
251
|
-
const detectLanguageWithPriority = async (i18nInstance, options)=>{
|
|
252
|
-
const { languages, fallbackLanguage, localePathRedirect, i18nextDetector, detection, userInitOptions, pathname, ssrContext } = options;
|
|
253
|
-
let detectedLanguage;
|
|
254
|
-
detectedLanguage = detectLanguageFromSSR(languages);
|
|
255
|
-
if (!detectedLanguage) detectedLanguage = detectLanguageFromPathPriority(pathname, languages, localePathRedirect);
|
|
256
|
-
if (!detectedLanguage && i18nextDetector) detectedLanguage = (0, external_instance_js_namespaceObject.isI18nWrapperInstance)(i18nInstance) ? (0, external_middleware_js_namespaceObject.readLanguageFromStorage)(mergeDetectionOptions(i18nextDetector, detection, localePathRedirect, userInitOptions)) : await detectLanguageFromI18nextDetector(i18nInstance, {
|
|
257
|
-
languages,
|
|
258
|
-
fallbackLanguage,
|
|
259
|
-
localePathRedirect,
|
|
260
|
-
i18nextDetector,
|
|
261
|
-
detection,
|
|
262
|
-
userInitOptions,
|
|
263
|
-
mergedBackend: options.mergedBackend,
|
|
264
|
-
ssrContext
|
|
265
|
-
});
|
|
266
|
-
const finalLanguage = detectedLanguage || userInitOptions?.lng || fallbackLanguage;
|
|
267
|
-
return {
|
|
268
|
-
detectedLanguage,
|
|
269
|
-
finalLanguage
|
|
270
|
-
};
|
|
271
|
-
};
|
|
272
|
-
const buildInitOptions = (params)=>{
|
|
273
|
-
const { finalLanguage, fallbackLanguage, languages, userInitOptions, mergedDetection, mergeBackend } = params;
|
|
274
|
-
return {
|
|
275
|
-
...userInitOptions || {},
|
|
276
|
-
lng: finalLanguage,
|
|
277
|
-
fallbackLng: fallbackLanguage,
|
|
278
|
-
supportedLngs: languages,
|
|
279
|
-
detection: mergedDetection,
|
|
280
|
-
backend: mergeBackend,
|
|
281
|
-
interpolation: {
|
|
282
|
-
...userInitOptions?.interpolation || {},
|
|
283
|
-
escapeValue: userInitOptions?.interpolation?.escapeValue ?? false
|
|
284
|
-
},
|
|
285
|
-
react: {
|
|
286
|
-
useSuspense: (0, runtime_namespaceObject.isBrowser)()
|
|
287
|
-
}
|
|
288
|
-
};
|
|
289
|
-
};
|
|
290
|
-
const mergeDetectionOptions = (i18nextDetector, detection, localePathRedirect, userInitOptions)=>{
|
|
291
|
-
let mergedDetection;
|
|
292
|
-
mergedDetection = i18nextDetector ? (0, external_config_js_namespaceObject.mergeDetectionOptions)(detection, userInitOptions?.detection) : userInitOptions?.detection || {};
|
|
293
|
-
if (!mergedDetection || 'object' != typeof mergedDetection) mergedDetection = {};
|
|
294
|
-
if (localePathRedirect && mergedDetection.order) mergedDetection.order = mergedDetection.order.filter((item)=>'path' !== item);
|
|
295
|
-
return mergedDetection;
|
|
296
|
-
};
|
|
40
|
+
const external_priority_js_namespaceObject = require("./priority.js");
|
|
41
|
+
const external_ssr_js_namespaceObject = require("./ssr.js");
|
|
297
42
|
exports.buildInitOptions = __webpack_exports__.buildInitOptions;
|
|
298
43
|
exports.cacheUserLanguage = __webpack_exports__.cacheUserLanguage;
|
|
299
44
|
exports.detectLanguageWithPriority = __webpack_exports__.detectLanguageWithPriority;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
buildInitOptions: ()=>buildInitOptions,
|
|
32
|
+
mergeDetectionOptions: ()=>mergeDetectionOptions
|
|
33
|
+
});
|
|
34
|
+
const runtime_namespaceObject = require("@modern-js/runtime");
|
|
35
|
+
const external_config_js_namespaceObject = require("./config.js");
|
|
36
|
+
const buildInitOptions = (params)=>{
|
|
37
|
+
const { finalLanguage, fallbackLanguage, languages, userInitOptions, mergedDetection, mergeBackend } = params;
|
|
38
|
+
return {
|
|
39
|
+
...userInitOptions || {},
|
|
40
|
+
lng: finalLanguage,
|
|
41
|
+
fallbackLng: fallbackLanguage,
|
|
42
|
+
supportedLngs: languages,
|
|
43
|
+
detection: mergedDetection,
|
|
44
|
+
backend: mergeBackend,
|
|
45
|
+
interpolation: {
|
|
46
|
+
...userInitOptions?.interpolation || {},
|
|
47
|
+
escapeValue: userInitOptions?.interpolation?.escapeValue ?? false
|
|
48
|
+
},
|
|
49
|
+
react: {
|
|
50
|
+
useSuspense: (0, runtime_namespaceObject.isBrowser)()
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
const mergeDetectionOptions = (i18nextDetector, detection, localePathRedirect, userInitOptions)=>{
|
|
55
|
+
let mergedDetection;
|
|
56
|
+
mergedDetection = i18nextDetector ? (0, external_config_js_namespaceObject.mergeDetectionOptions)(detection, userInitOptions?.detection) : userInitOptions?.detection || {};
|
|
57
|
+
if (!mergedDetection || 'object' != typeof mergedDetection) mergedDetection = {};
|
|
58
|
+
if (localePathRedirect && mergedDetection.order) mergedDetection.order = mergedDetection.order.filter((item)=>'path' !== item);
|
|
59
|
+
return mergedDetection;
|
|
60
|
+
};
|
|
61
|
+
exports.buildInitOptions = __webpack_exports__.buildInitOptions;
|
|
62
|
+
exports.mergeDetectionOptions = __webpack_exports__.mergeDetectionOptions;
|
|
63
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
64
|
+
"buildInitOptions",
|
|
65
|
+
"mergeDetectionOptions"
|
|
66
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
67
|
+
Object.defineProperty(exports, '__esModule', {
|
|
68
|
+
value: true
|
|
69
|
+
});
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
const normalizeLanguageCode = (language)=>{
|
|
31
|
+
if (!language) return language;
|
|
32
|
+
const baseLang = language.split('-')[0];
|
|
33
|
+
return baseLang;
|
|
34
|
+
};
|
|
35
|
+
const isLanguageSupported = (language, supportedLanguages)=>{
|
|
36
|
+
if (!language) return false;
|
|
37
|
+
if (0 === supportedLanguages.length) return true;
|
|
38
|
+
if (supportedLanguages.includes(language)) return true;
|
|
39
|
+
const baseLang = normalizeLanguageCode(language);
|
|
40
|
+
if (baseLang !== language && supportedLanguages.includes(baseLang)) return true;
|
|
41
|
+
return false;
|
|
42
|
+
};
|
|
43
|
+
const getSupportedLanguage = (language, supportedLanguages)=>{
|
|
44
|
+
if (!language) return;
|
|
45
|
+
if (0 === supportedLanguages.length) return language;
|
|
46
|
+
if (supportedLanguages.includes(language)) return language;
|
|
47
|
+
const baseLang = normalizeLanguageCode(language);
|
|
48
|
+
if (baseLang !== language && supportedLanguages.includes(baseLang)) return baseLang;
|
|
49
|
+
};
|
|
50
|
+
__webpack_require__.d(__webpack_exports__, {}, {
|
|
51
|
+
getSupportedLanguage: getSupportedLanguage,
|
|
52
|
+
isLanguageSupported: isLanguageSupported
|
|
53
|
+
});
|
|
54
|
+
exports.getSupportedLanguage = __webpack_exports__.getSupportedLanguage;
|
|
55
|
+
exports.isLanguageSupported = __webpack_exports__.isLanguageSupported;
|
|
56
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
57
|
+
"getSupportedLanguage",
|
|
58
|
+
"isLanguageSupported"
|
|
59
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
60
|
+
Object.defineProperty(exports, '__esModule', {
|
|
61
|
+
value: true
|
|
62
|
+
});
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
detectLanguageFromPathPriority: ()=>detectLanguageFromPathPriority
|
|
32
|
+
});
|
|
33
|
+
const external_utils_js_namespaceObject = require("../../utils.js");
|
|
34
|
+
const detectLanguageFromPathPriority = (pathname, languages, localePathRedirect)=>{
|
|
35
|
+
if (!localePathRedirect) return;
|
|
36
|
+
if (!languages || 0 === languages.length) return;
|
|
37
|
+
if (!pathname || '' === pathname.trim()) return;
|
|
38
|
+
try {
|
|
39
|
+
const pathDetection = (0, external_utils_js_namespaceObject.detectLanguageFromPath)(pathname, languages, localePathRedirect);
|
|
40
|
+
if (true === pathDetection.detected && pathDetection.language) return pathDetection.language;
|
|
41
|
+
} catch (error) {}
|
|
42
|
+
};
|
|
43
|
+
exports.detectLanguageFromPathPriority = __webpack_exports__.detectLanguageFromPathPriority;
|
|
44
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
45
|
+
"detectLanguageFromPathPriority"
|
|
46
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
47
|
+
Object.defineProperty(exports, '__esModule', {
|
|
48
|
+
value: true
|
|
49
|
+
});
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
detectLanguageWithPriority: ()=>detectLanguageWithPriority
|
|
32
|
+
});
|
|
33
|
+
const external_instance_js_namespaceObject = require("../instance.js");
|
|
34
|
+
const external_detector_js_namespaceObject = require("./detector.js");
|
|
35
|
+
const external_initOptions_js_namespaceObject = require("./initOptions.js");
|
|
36
|
+
const external_middleware_js_namespaceObject = require("./middleware.js");
|
|
37
|
+
const external_path_js_namespaceObject = require("./path.js");
|
|
38
|
+
const external_ssr_js_namespaceObject = require("./ssr.js");
|
|
39
|
+
const detectLanguageWithPriority = async (i18nInstance, options)=>{
|
|
40
|
+
const { languages, fallbackLanguage, localePathRedirect, i18nextDetector, detection, userInitOptions, pathname, ssrContext } = options;
|
|
41
|
+
let detectedLanguage;
|
|
42
|
+
detectedLanguage = (0, external_path_js_namespaceObject.detectLanguageFromPathPriority)(pathname, languages, localePathRedirect);
|
|
43
|
+
if (!detectedLanguage) detectedLanguage = (0, external_ssr_js_namespaceObject.detectLanguageFromSSR)(languages);
|
|
44
|
+
if (!detectedLanguage && i18nextDetector) detectedLanguage = (0, external_instance_js_namespaceObject.isI18nWrapperInstance)(i18nInstance) ? (0, external_middleware_js_namespaceObject.readLanguageFromStorage)((0, external_initOptions_js_namespaceObject.mergeDetectionOptions)(i18nextDetector, detection, localePathRedirect, userInitOptions)) : await (0, external_detector_js_namespaceObject.detectLanguageFromI18nextDetector)(i18nInstance, {
|
|
45
|
+
languages,
|
|
46
|
+
fallbackLanguage,
|
|
47
|
+
localePathRedirect,
|
|
48
|
+
i18nextDetector,
|
|
49
|
+
detection,
|
|
50
|
+
userInitOptions,
|
|
51
|
+
mergedBackend: options.mergedBackend,
|
|
52
|
+
ssrContext
|
|
53
|
+
});
|
|
54
|
+
const finalLanguage = detectedLanguage || userInitOptions?.lng || fallbackLanguage;
|
|
55
|
+
return {
|
|
56
|
+
detectedLanguage,
|
|
57
|
+
finalLanguage
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
exports.detectLanguageWithPriority = __webpack_exports__.detectLanguageWithPriority;
|
|
61
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
62
|
+
"detectLanguageWithPriority"
|
|
63
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
64
|
+
Object.defineProperty(exports, '__esModule', {
|
|
65
|
+
value: true
|
|
66
|
+
});
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
detectLanguageFromSSR: ()=>detectLanguageFromSSR,
|
|
32
|
+
exportServerLngToWindow: ()=>exportServerLngToWindow,
|
|
33
|
+
getLanguageFromSSRData: ()=>getLanguageFromSSRData
|
|
34
|
+
});
|
|
35
|
+
const runtime_namespaceObject = require("@modern-js/runtime");
|
|
36
|
+
const external_language_js_namespaceObject = require("./language.js");
|
|
37
|
+
function exportServerLngToWindow(context, lng) {
|
|
38
|
+
context.__i18nData__ = {
|
|
39
|
+
lng
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
const getLanguageFromSSRData = (window1)=>{
|
|
43
|
+
try {
|
|
44
|
+
const ssrData = window1._SSR_DATA;
|
|
45
|
+
if (!ssrData || !ssrData.data || !ssrData.data.i18nData) return;
|
|
46
|
+
const lng = ssrData.data.i18nData.lng;
|
|
47
|
+
return 'string' == typeof lng && '' !== lng.trim() ? lng : void 0;
|
|
48
|
+
} catch (error) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const detectLanguageFromSSR = (languages)=>{
|
|
53
|
+
if (!(0, runtime_namespaceObject.isBrowser)()) return;
|
|
54
|
+
try {
|
|
55
|
+
const ssrLanguage = getLanguageFromSSRData(window);
|
|
56
|
+
const supportedLanguage = (0, external_language_js_namespaceObject.getSupportedLanguage)(ssrLanguage, languages);
|
|
57
|
+
if (supportedLanguage) return supportedLanguage;
|
|
58
|
+
} catch (error) {}
|
|
59
|
+
};
|
|
60
|
+
exports.detectLanguageFromSSR = __webpack_exports__.detectLanguageFromSSR;
|
|
61
|
+
exports.exportServerLngToWindow = __webpack_exports__.exportServerLngToWindow;
|
|
62
|
+
exports.getLanguageFromSSRData = __webpack_exports__.getLanguageFromSSRData;
|
|
63
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
64
|
+
"detectLanguageFromSSR",
|
|
65
|
+
"exportServerLngToWindow",
|
|
66
|
+
"getLanguageFromSSRData"
|
|
67
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
68
|
+
Object.defineProperty(exports, '__esModule', {
|
|
69
|
+
value: true
|
|
70
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.r = (exports1)=>{
|
|
5
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
6
|
+
value: 'Module'
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
9
|
+
value: true
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
})();
|
|
13
|
+
var __webpack_exports__ = {};
|
|
14
|
+
__webpack_require__.r(__webpack_exports__);
|
|
15
|
+
for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
16
|
+
Object.defineProperty(exports, '__esModule', {
|
|
17
|
+
value: true
|
|
18
|
+
});
|