gt-next 1.3.15 → 2.0.2
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/.prettierrc +14 -0
- package/dist/config/I18NConfiguration.d.ts +28 -18
- package/dist/config/I18NConfiguration.d.ts.map +1 -1
- package/dist/config/I18NConfiguration.js +109 -41
- package/dist/config/I18NConfiguration.js.map +1 -1
- package/dist/config/RemoteTranslationsManager.d.ts +2 -8
- package/dist/config/RemoteTranslationsManager.d.ts.map +1 -1
- package/dist/config/RemoteTranslationsManager.js +10 -18
- package/dist/config/RemoteTranslationsManager.js.map +1 -1
- package/dist/config.d.ts +2 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +10 -5
- package/dist/config.js.map +1 -1
- package/dist/index.server.d.ts +2 -2
- package/dist/index.server.d.ts.map +1 -1
- package/dist/index.server.js +4 -3
- package/dist/index.server.js.map +1 -1
- package/dist/middleware/createNextMiddleware.d.ts +3 -2
- package/dist/middleware/createNextMiddleware.d.ts.map +1 -1
- package/dist/middleware/createNextMiddleware.js +41 -55
- package/dist/middleware/createNextMiddleware.js.map +1 -1
- package/dist/next/getNextLocale.d.ts.map +1 -1
- package/dist/next/getNextLocale.js +30 -17
- package/dist/next/getNextLocale.js.map +1 -1
- package/dist/primitives/defaultInitGTProps.js +4 -4
- package/dist/primitives/defaultInitGTProps.js.map +1 -1
- package/dist/provider/ClientProvider.d.ts +4 -3
- package/dist/provider/ClientProvider.d.ts.map +1 -1
- package/dist/provider/ClientProvider.js +39 -27
- package/dist/provider/ClientProvider.js.map +1 -1
- package/dist/provider/GTProvider.d.ts +3 -3
- package/dist/provider/GTProvider.d.ts.map +1 -1
- package/dist/provider/GTProvider.js +89 -80
- package/dist/provider/GTProvider.js.map +1 -1
- package/dist/provider/types.d.ts +18 -0
- package/dist/provider/types.d.ts.map +1 -0
- package/dist/provider/types.js +3 -0
- package/dist/provider/types.js.map +1 -0
- package/dist/request/getLocale.d.ts +1 -1
- package/dist/request/getLocale.d.ts.map +1 -1
- package/dist/request/getLocale.js +2 -4
- package/dist/request/getLocale.js.map +1 -1
- package/dist/server/createServerTFunction.js +4 -2
- package/dist/server/createServerTFunction.js.map +1 -1
- package/dist/server/getGT.d.ts +16 -1
- package/dist/server/getGT.d.ts.map +1 -1
- package/dist/server/getGT.js +99 -6
- package/dist/server/getGT.js.map +1 -1
- package/dist/server/inline/T.d.ts +4 -4
- package/dist/server/inline/T.d.ts.map +1 -1
- package/dist/server/inline/T.js +48 -39
- package/dist/server/inline/T.js.map +1 -1
- package/dist/server/rendering/renderDefaultChildren.d.ts +0 -7
- package/dist/server/rendering/renderDefaultChildren.d.ts.map +1 -1
- package/dist/server/rendering/renderDefaultChildren.js +88 -72
- package/dist/server/rendering/renderDefaultChildren.js.map +1 -1
- package/dist/server/rendering/renderTranslatedChildren.d.ts +0 -9
- package/dist/server/rendering/renderTranslatedChildren.d.ts.map +1 -1
- package/dist/server/rendering/renderTranslatedChildren.js +224 -160
- package/dist/server/rendering/renderTranslatedChildren.js.map +1 -1
- package/dist/server/strings/tx.d.ts +10 -8
- package/dist/server/strings/tx.d.ts.map +1 -1
- package/dist/server/strings/tx.js +37 -33
- package/dist/server/strings/tx.js.map +1 -1
- package/dist/variables/Currency.js +1 -1
- package/dist/variables/Currency.js.map +1 -1
- package/dist/variables/DateTime.js +1 -1
- package/dist/variables/DateTime.js.map +1 -1
- package/dist/variables/Num.js +1 -1
- package/dist/variables/Num.js.map +1 -1
- package/package.json +4 -3
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,MAAM,CAAC,EACrB,IAAI,EACJ,UAAU,EACV,MAAkC,EAClC,SAAwC,EACxC,OAAoC,EACpC,QAAsC,EACtC,OAAO,EACP,aAAgE,EAChE,cAAkD,EAClD,sBAAkE,EAClE,cAAkD,EAClD,GAAG,QAAQ,EACZ,GAAE,WAAgC,aAuCjB,UAAU,KAAQ,UAAU,CAiC7C"}
|
package/dist/config.js
CHANGED
|
@@ -76,15 +76,20 @@ function initGT(_a) {
|
|
|
76
76
|
if (_a === void 0) { _a = defaultInitGTProps_1.default; }
|
|
77
77
|
var i18n = _a.i18n, dictionary = _a.dictionary, _b = _a.apiKey, apiKey = _b === void 0 ? defaultInitGTProps_1.default.apiKey : _b, _c = _a.projectID, projectID = _c === void 0 ? defaultInitGTProps_1.default.projectID : _c, _d = _a.baseURL, baseURL = _d === void 0 ? defaultInitGTProps_1.default.baseURL : _d, _e = _a.cacheURL, cacheURL = _e === void 0 ? defaultInitGTProps_1.default.cacheURL : _e, locales = _a.locales, _f = _a.defaultLocale, defaultLocale = _f === void 0 ? (locales === null || locales === void 0 ? void 0 : locales[0]) || defaultInitGTProps_1.default.defaultLocale : _f, _g = _a.renderSettings, renderSettings = _g === void 0 ? defaultInitGTProps_1.default.renderSettings : _g, _h = _a._maxConcurrentRequests, _maxConcurrentRequests = _h === void 0 ? defaultInitGTProps_1.default._maxConcurrectRequests : _h, _j = _a._batchInterval, _batchInterval = _j === void 0 ? defaultInitGTProps_1.default._batchInterval : _j, metadata = __rest(_a, ["i18n", "dictionary", "apiKey", "projectID", "baseURL", "cacheURL", "locales", "defaultLocale", "renderSettings", "_maxConcurrentRequests", "_batchInterval"]);
|
|
78
78
|
// Error checks
|
|
79
|
-
if (!projectID &&
|
|
79
|
+
if (!projectID &&
|
|
80
|
+
(cacheURL === defaultInitGTProps_1.default.cacheURL ||
|
|
81
|
+
baseURL === defaultInitGTProps_1.default.baseURL))
|
|
80
82
|
console.error('Project ID missing! Set projectID as GT_PROJECT_ID in the environment or by passing the projectID parameter to initGT(). Find your project ID: www.generaltranslation.com/dashboard.');
|
|
81
|
-
if ((!apiKey || !projectID) &&
|
|
82
|
-
console.error(
|
|
83
|
+
if ((!apiKey || !projectID) && baseURL === defaultInitGTProps_1.default.baseURL) {
|
|
84
|
+
console.error('API key is required for automatic translation! Create an API key: www.generaltranslation.com/dashboard/api-keys. (Or, turn off automatic translation by setting baseURL to an empty string.)');
|
|
83
85
|
}
|
|
86
|
+
// Store config params in environment variable to allow for global access (in some cases)
|
|
84
87
|
var I18NConfigParams = JSON.stringify(__assign({ apiKey: apiKey, projectID: projectID, baseURL: baseURL, cacheURL: cacheURL, locales: locales, defaultLocale: defaultLocale, renderSettings: renderSettings, maxConcurrentRequests: _maxConcurrentRequests, batchInterval: _batchInterval }, metadata));
|
|
85
88
|
// Use i18n and dictionary values as file paths if they are provided as such
|
|
86
89
|
var resolvedI18NFilePath = typeof i18n === 'string' ? i18n : resolveConfigFilepath('i18n');
|
|
87
|
-
var resolvedDictionaryFilePath = typeof dictionary === 'string'
|
|
90
|
+
var resolvedDictionaryFilePath = typeof dictionary === 'string'
|
|
91
|
+
? dictionary
|
|
92
|
+
: resolveConfigFilepath('dictionary');
|
|
88
93
|
return function (config) {
|
|
89
94
|
if (config === void 0) { config = {}; }
|
|
90
95
|
return __assign(__assign({}, config), { env: __assign(__assign({}, config.env), { _GENERALTRANSLATION_I18N_CONFIG_PARAMS: I18NConfigParams }), webpack: function webpack() {
|
|
@@ -136,7 +141,7 @@ function withExtensions(localPath) {
|
|
|
136
141
|
"".concat(localPath, ".ts"),
|
|
137
142
|
"".concat(localPath, ".tsx"),
|
|
138
143
|
"".concat(localPath, ".js"),
|
|
139
|
-
"".concat(localPath, ".jsx")
|
|
144
|
+
"".concat(localPath, ".jsx"),
|
|
140
145
|
];
|
|
141
146
|
}
|
|
142
147
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.server.d.ts
CHANGED
|
@@ -2,10 +2,10 @@ import Var from './variables/Var';
|
|
|
2
2
|
import Num from './variables/Num';
|
|
3
3
|
import Currency from './variables/Currency';
|
|
4
4
|
import DateTime from './variables/DateTime';
|
|
5
|
-
import getGT from './server/getGT';
|
|
5
|
+
import { getGT, gt } from './server/getGT';
|
|
6
6
|
import GTProvider from './provider/GTProvider';
|
|
7
7
|
import T from './server/inline/T';
|
|
8
8
|
import Branch from './branches/Branch';
|
|
9
9
|
import Plural from './branches/Plural';
|
|
10
|
-
export { getGT, GTProvider, T, Var, Num, Currency, DateTime, Branch, Plural };
|
|
10
|
+
export { getGT, GTProvider, T, Var, Num, Currency, DateTime, Branch, Plural, gt };
|
|
11
11
|
//# sourceMappingURL=index.server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../src/index.server.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,iBAAiB,CAAA;AACjC,OAAO,GAAG,MAAM,iBAAiB,CAAA;AACjC,OAAO,QAAQ,MAAM,sBAAsB,CAAA;AAC3C,OAAO,QAAQ,MAAM,sBAAsB,CAAA;AAC3C,OAAO,KAAK,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../src/index.server.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,iBAAiB,CAAA;AACjC,OAAO,GAAG,MAAM,iBAAiB,CAAA;AACjC,OAAO,QAAQ,MAAM,sBAAsB,CAAA;AAC3C,OAAO,QAAQ,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,UAAU,MAAM,uBAAuB,CAAA;AAC9C,OAAO,CAAC,MAAM,mBAAmB,CAAA;AACjC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EACH,KAAK,EAAE,UAAU,EAAE,CAAC,EACpB,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAC5B,MAAM,EAAE,MAAM,EAAE,EAAE,EACrB,CAAA"}
|
package/dist/index.server.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Plural = exports.Branch = exports.DateTime = exports.Currency = exports.Num = exports.Var = exports.T = exports.GTProvider = exports.getGT = void 0;
|
|
6
|
+
exports.gt = exports.Plural = exports.Branch = exports.DateTime = exports.Currency = exports.Num = exports.Var = exports.T = exports.GTProvider = exports.getGT = void 0;
|
|
7
7
|
var Var_1 = __importDefault(require("./variables/Var"));
|
|
8
8
|
exports.Var = Var_1.default;
|
|
9
9
|
var Num_1 = __importDefault(require("./variables/Num"));
|
|
@@ -12,8 +12,9 @@ var Currency_1 = __importDefault(require("./variables/Currency"));
|
|
|
12
12
|
exports.Currency = Currency_1.default;
|
|
13
13
|
var DateTime_1 = __importDefault(require("./variables/DateTime"));
|
|
14
14
|
exports.DateTime = DateTime_1.default;
|
|
15
|
-
var getGT_1 =
|
|
16
|
-
exports
|
|
15
|
+
var getGT_1 = require("./server/getGT");
|
|
16
|
+
Object.defineProperty(exports, "getGT", { enumerable: true, get: function () { return getGT_1.getGT; } });
|
|
17
|
+
Object.defineProperty(exports, "gt", { enumerable: true, get: function () { return getGT_1.gt; } });
|
|
17
18
|
var GTProvider_1 = __importDefault(require("./provider/GTProvider"));
|
|
18
19
|
exports.GTProvider = GTProvider_1.default;
|
|
19
20
|
var T_1 = __importDefault(require("./server/inline/T"));
|
package/dist/index.server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.server.js","sourceRoot":"","sources":["../src/index.server.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAiC;AAY7B,cAZG,aAAG,CAYH;AAXP,wDAAiC;AAWxB,cAXF,aAAG,CAWE;AAVZ,kEAA2C;AAU7B,mBAVP,kBAAQ,CAUO;AATtB,kEAA2C;AASnB,mBATjB,kBAAQ,CASiB;AARhC,
|
|
1
|
+
{"version":3,"file":"index.server.js","sourceRoot":"","sources":["../src/index.server.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAiC;AAY7B,cAZG,aAAG,CAYH;AAXP,wDAAiC;AAWxB,cAXF,aAAG,CAWE;AAVZ,kEAA2C;AAU7B,mBAVP,kBAAQ,CAUO;AATtB,kEAA2C;AASnB,mBATjB,kBAAQ,CASiB;AARhC,wCAA0C;AAOtC,sFAPK,aAAK,OAOL;AAEW,mFATJ,UAAE,OASI;AARtB,qEAA8C;AAMnC,qBANJ,oBAAU,CAMI;AALrB,wDAAiC;AAKV,YALhB,WAAC,CAKgB;AAJxB,6DAAsC;AAMlC,iBANG,gBAAM,CAMH;AALV,6DAAsC;AAK1B,iBALL,gBAAM,CAKK"}
|
|
@@ -13,9 +13,10 @@ import { NextResponse } from "next/server";
|
|
|
13
13
|
* @param {boolean} [config.localeRouting=true] - Flag to enable or disable automatic locale-based routing.
|
|
14
14
|
* @returns {function} - A middleware function that processes the request and response.
|
|
15
15
|
*/
|
|
16
|
-
export default function createNextMiddleware({ defaultLocale, locales, localeRouting }?: {
|
|
17
|
-
defaultLocale
|
|
16
|
+
export default function createNextMiddleware({ defaultLocale, locales, localeRouting, prefixDefaultLocale }?: {
|
|
17
|
+
defaultLocale?: string;
|
|
18
18
|
locales?: string[];
|
|
19
19
|
localeRouting?: boolean;
|
|
20
|
+
prefixDefaultLocale?: boolean;
|
|
20
21
|
}): (req: any) => NextResponse<unknown>;
|
|
21
22
|
//# sourceMappingURL=createNextMiddleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNextMiddleware.d.ts","sourceRoot":"","sources":["../../src/middleware/createNextMiddleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"createNextMiddleware.d.ts","sourceRoot":"","sources":["../../src/middleware/createNextMiddleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAe3C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EACzC,aAAoC,EACpC,OAAO,EAAE,aAAoB,EAAE,mBAA2B,EAC7D,GAAE;IACC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAIrG,SAegC,GAAG,2BA8GnC"}
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.default = createNextMiddleware;
|
|
4
4
|
var generaltranslation_1 = require("generaltranslation");
|
|
5
5
|
var server_1 = require("next/server");
|
|
6
|
-
|
|
7
|
-
var
|
|
6
|
+
// import { ResponseCookies, RequestCookies } from "next/dist/compiled/@edge-runtime/cookies";
|
|
7
|
+
var internal_1 = require("generaltranslation/internal");
|
|
8
8
|
/**
|
|
9
9
|
* Extracts the locale from the given pathname.
|
|
10
10
|
*
|
|
@@ -15,29 +15,6 @@ function extractLocale(pathname) {
|
|
|
15
15
|
var matches = pathname.match(/^\/([^\/]+)(?:\/|$)/);
|
|
16
16
|
return matches ? matches[1] : null;
|
|
17
17
|
}
|
|
18
|
-
/**
|
|
19
|
-
* Copy cookies from the Set-Cookie header of the response to the Cookie header of the request,
|
|
20
|
-
* so that it will appear to SSR/RSC as if the user already has the new cookies.
|
|
21
|
-
* via
|
|
22
|
-
*/
|
|
23
|
-
function applyNewCookies(req, res) {
|
|
24
|
-
// 1. Parse Set-Cookie header from the response
|
|
25
|
-
var setCookies = new cookies_1.ResponseCookies(res.headers);
|
|
26
|
-
// 2. Construct updated Cookie header for the request
|
|
27
|
-
var newReqHeaders = new Headers(req.headers);
|
|
28
|
-
var newReqCookies = new cookies_1.RequestCookies(newReqHeaders);
|
|
29
|
-
setCookies.getAll().forEach(function (cookie) { return newReqCookies.set(cookie); });
|
|
30
|
-
// 3. Set up the “request header overrides” (see https://github.com/vercel/next.js/pull/41380)
|
|
31
|
-
// on a dummy response
|
|
32
|
-
// NextResponse.next will set x-middleware-override-headers / x-middleware-request-* headers
|
|
33
|
-
var dummyRes = server_1.NextResponse.next({ request: { headers: newReqHeaders } });
|
|
34
|
-
// 4. Copy the “request header overrides” headers from our dummy response to the real response
|
|
35
|
-
dummyRes.headers.forEach(function (value, key) {
|
|
36
|
-
if (key === 'x-middleware-override-headers' || key.startsWith('x-middleware-request-')) {
|
|
37
|
-
res.headers.set(key, value);
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
18
|
/**
|
|
42
19
|
* Middleware factory to create a Next.js middleware for i18n routing and locale detection.
|
|
43
20
|
*
|
|
@@ -53,7 +30,9 @@ function applyNewCookies(req, res) {
|
|
|
53
30
|
* @returns {function} - A middleware function that processes the request and response.
|
|
54
31
|
*/
|
|
55
32
|
function createNextMiddleware(_a) {
|
|
56
|
-
var _b = _a === void 0 ? {
|
|
33
|
+
var _b = _a === void 0 ? {
|
|
34
|
+
defaultLocale: internal_1.libraryDefaultLocale, localeRouting: true, prefixDefaultLocale: false
|
|
35
|
+
} : _a, _c = _b.defaultLocale, defaultLocale = _c === void 0 ? internal_1.libraryDefaultLocale : _c, locales = _b.locales, _d = _b.localeRouting, localeRouting = _d === void 0 ? true : _d, _e = _b.prefixDefaultLocale, prefixDefaultLocale = _e === void 0 ? false : _e;
|
|
57
36
|
/**
|
|
58
37
|
* Processes the incoming request to determine the user's locale and sets a locale cookie.
|
|
59
38
|
* Optionally redirects the user based on the locale if locale-based routing is enabled.
|
|
@@ -68,31 +47,31 @@ function createNextMiddleware(_a) {
|
|
|
68
47
|
* @returns {NextResponse} - The Next.js response, either continuing the request or redirecting to the localized URL.
|
|
69
48
|
*/
|
|
70
49
|
function nextMiddleware(req) {
|
|
71
|
-
var _a
|
|
50
|
+
var _a;
|
|
72
51
|
var headerList = new Headers(req.headers);
|
|
73
52
|
var res = server_1.NextResponse.next();
|
|
74
|
-
var userLocale = (0, generaltranslation_1.
|
|
53
|
+
var userLocale = (0, generaltranslation_1.standardizeLocale)(defaultLocale);
|
|
75
54
|
if (localeRouting) {
|
|
76
55
|
// Check if there is any supported locale in the pathname
|
|
77
56
|
var pathname = req.nextUrl.pathname;
|
|
78
57
|
var locale = extractLocale(pathname);
|
|
79
58
|
var pathnameHasLocale = false;
|
|
80
|
-
if (locale && (0, generaltranslation_1.
|
|
59
|
+
if (locale && (0, generaltranslation_1.isValidLocale)(locale)) {
|
|
81
60
|
if (locales) {
|
|
82
|
-
var approvedLocale = (0, generaltranslation_1.
|
|
61
|
+
var approvedLocale = (0, generaltranslation_1.determineLocale)(locale, locales);
|
|
83
62
|
if (approvedLocale) {
|
|
84
|
-
userLocale = (0, generaltranslation_1.
|
|
63
|
+
userLocale = (0, generaltranslation_1.standardizeLocale)(approvedLocale);
|
|
85
64
|
pathnameHasLocale = true;
|
|
86
65
|
}
|
|
87
66
|
}
|
|
88
67
|
else {
|
|
89
|
-
userLocale = (0, generaltranslation_1.
|
|
68
|
+
userLocale = (0, generaltranslation_1.standardizeLocale)(locale);
|
|
90
69
|
pathnameHasLocale = true;
|
|
91
70
|
}
|
|
92
71
|
}
|
|
93
72
|
if (pathnameHasLocale) {
|
|
94
|
-
res.
|
|
95
|
-
|
|
73
|
+
res.headers.set(internal_1.localeHeaderName, userLocale);
|
|
74
|
+
res.cookies.set(internal_1.localeCookieName, userLocale);
|
|
96
75
|
return res;
|
|
97
76
|
}
|
|
98
77
|
// If there's no locale, try to get one from the referer
|
|
@@ -102,54 +81,61 @@ function createNextMiddleware(_a) {
|
|
|
102
81
|
if (refererLocale) {
|
|
103
82
|
var refererLocaleIsValid = false;
|
|
104
83
|
if (locales) {
|
|
105
|
-
var approvedLocale = (0, generaltranslation_1.
|
|
84
|
+
var approvedLocale = (0, generaltranslation_1.determineLocale)(refererLocale, locales);
|
|
106
85
|
if (approvedLocale) {
|
|
107
|
-
userLocale = (0, generaltranslation_1.
|
|
86
|
+
userLocale = (0, generaltranslation_1.standardizeLocale)(approvedLocale);
|
|
108
87
|
refererLocaleIsValid = true;
|
|
109
88
|
}
|
|
110
89
|
}
|
|
111
90
|
else {
|
|
112
|
-
if ((0, generaltranslation_1.
|
|
113
|
-
userLocale = (0, generaltranslation_1.
|
|
91
|
+
if ((0, generaltranslation_1.isValidLocale)(refererLocale)) {
|
|
92
|
+
userLocale = (0, generaltranslation_1.standardizeLocale)(refererLocale);
|
|
114
93
|
refererLocaleIsValid = true;
|
|
115
94
|
}
|
|
116
95
|
}
|
|
117
96
|
if (refererLocaleIsValid) {
|
|
118
97
|
req.nextUrl.pathname = "/".concat(userLocale, "/").concat(pathname);
|
|
119
|
-
applyNewCookies(req, res);
|
|
120
98
|
return server_1.NextResponse.redirect(req.nextUrl);
|
|
121
99
|
}
|
|
122
100
|
}
|
|
123
101
|
}
|
|
124
102
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
if (
|
|
130
|
-
|
|
131
|
-
}
|
|
103
|
+
userLocale = (function () {
|
|
104
|
+
var _a, _b;
|
|
105
|
+
var cookieLocale = req.cookies.get(internal_1.localeCookieName);
|
|
106
|
+
if (cookieLocale === null || cookieLocale === void 0 ? void 0 : cookieLocale.value) {
|
|
107
|
+
if ((0, generaltranslation_1.isValidLocale)(cookieLocale.value))
|
|
108
|
+
return (0, generaltranslation_1.standardizeLocale)(cookieLocale.value);
|
|
132
109
|
}
|
|
133
|
-
|
|
134
|
-
|
|
110
|
+
var acceptedLocales = (_b = (_a = headerList.get('accept-language')) === null || _a === void 0 ? void 0 : _a.split(',').map(function (item) { var _a; return (_a = item.split(';')) === null || _a === void 0 ? void 0 : _a[0].trim(); })) === null || _b === void 0 ? void 0 : _b.filter(function (code) { return (0, generaltranslation_1.isValidLocale)(code); });
|
|
111
|
+
if (acceptedLocales && acceptedLocales.length > 0) {
|
|
112
|
+
if (locales) {
|
|
113
|
+
var approvedLocale = (0, generaltranslation_1.determineLocale)(acceptedLocales, locales);
|
|
114
|
+
if (approvedLocale) {
|
|
115
|
+
userLocale = (0, generaltranslation_1.standardizeLocale)(approvedLocale);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
return (0, generaltranslation_1.standardizeLocale)(acceptedLocales[0]);
|
|
120
|
+
}
|
|
135
121
|
}
|
|
136
|
-
|
|
137
|
-
|
|
122
|
+
return userLocale;
|
|
123
|
+
})();
|
|
124
|
+
res.cookies.set(internal_1.localeCookieName, userLocale);
|
|
125
|
+
res.headers.set(internal_1.localeHeaderName, userLocale);
|
|
138
126
|
if (localeRouting) {
|
|
139
127
|
var pathname = req.nextUrl.pathname;
|
|
140
|
-
if (userLocale
|
|
128
|
+
if (!prefixDefaultLocale && (0, generaltranslation_1.isSameDialect)(userLocale, defaultLocale)) {
|
|
141
129
|
var rewrittenRes = server_1.NextResponse.rewrite(new URL("/".concat(userLocale).concat(pathname), req.nextUrl), req.nextUrl);
|
|
142
|
-
rewrittenRes.cookies.set(internal_1.
|
|
143
|
-
|
|
130
|
+
rewrittenRes.cookies.set(internal_1.localeCookieName, userLocale);
|
|
131
|
+
rewrittenRes.headers.set(internal_1.localeHeaderName, userLocale);
|
|
144
132
|
return rewrittenRes;
|
|
145
133
|
}
|
|
146
134
|
else {
|
|
147
135
|
req.nextUrl.pathname = "/".concat(userLocale).concat(pathname);
|
|
148
|
-
applyNewCookies(req, res);
|
|
149
136
|
return server_1.NextResponse.redirect(req.nextUrl);
|
|
150
137
|
}
|
|
151
138
|
}
|
|
152
|
-
applyNewCookies(req, res);
|
|
153
139
|
return res;
|
|
154
140
|
}
|
|
155
141
|
return nextMiddleware;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNextMiddleware.js","sourceRoot":"","sources":["../../src/middleware/createNextMiddleware.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"createNextMiddleware.js","sourceRoot":"","sources":["../../src/middleware/createNextMiddleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNextLocale.d.ts","sourceRoot":"","sources":["../../src/next/getNextLocale.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,wBAAsB,aAAa,
|
|
1
|
+
{"version":3,"file":"getNextLocale.d.ts","sourceRoot":"","sources":["../../src/next/getNextLocale.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,aAAa,GAAE,MAAW,EAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,GAC7B,OAAO,CAAC,MAAM,CAAC,CAyCjB"}
|
|
@@ -39,8 +39,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.getNextLocale = getNextLocale;
|
|
40
40
|
var headers_1 = require("next/headers");
|
|
41
41
|
var headers_2 = require("next/headers");
|
|
42
|
-
var internal_1 = require("gt-react/internal");
|
|
43
42
|
var generaltranslation_1 = require("generaltranslation");
|
|
43
|
+
var internal_1 = require("generaltranslation/internal");
|
|
44
44
|
/**
|
|
45
45
|
* Retrieves the 'accept-language' header from the headers list.
|
|
46
46
|
* If the 'next/headers' module is not available, it attempts to load it. If the
|
|
@@ -52,28 +52,41 @@ var generaltranslation_1 = require("generaltranslation");
|
|
|
52
52
|
*/
|
|
53
53
|
function getNextLocale() {
|
|
54
54
|
return __awaiter(this, arguments, void 0, function (defaultLocale, locales) {
|
|
55
|
-
var
|
|
56
|
-
var _a;
|
|
55
|
+
var _a, headersList, cookieStore, userLocale;
|
|
57
56
|
if (defaultLocale === void 0) { defaultLocale = ''; }
|
|
58
57
|
return __generator(this, function (_b) {
|
|
59
58
|
switch (_b.label) {
|
|
60
|
-
case 0: return [4 /*yield*/,
|
|
59
|
+
case 0: return [4 /*yield*/, Promise.all([
|
|
60
|
+
(0, headers_1.headers)(), (0, headers_2.cookies)()
|
|
61
|
+
])];
|
|
61
62
|
case 1:
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
63
|
+
_a = _b.sent(), headersList = _a[0], cookieStore = _a[1];
|
|
64
|
+
userLocale = (function () {
|
|
65
|
+
var _a;
|
|
66
|
+
var preferredLocales = [];
|
|
67
|
+
// Language routed to by middleware
|
|
68
|
+
var headerLocale = headersList.get(internal_1.localeHeaderName);
|
|
69
|
+
if (headerLocale)
|
|
70
|
+
preferredLocales.push(headerLocale);
|
|
71
|
+
var cookieLocale = cookieStore.get(internal_1.localeCookieName);
|
|
72
|
+
if (cookieLocale === null || cookieLocale === void 0 ? void 0 : cookieLocale.value) {
|
|
73
|
+
preferredLocales.push(cookieLocale.value);
|
|
74
|
+
}
|
|
75
|
+
// Browser languages, in preference order
|
|
76
|
+
var acceptedLocales = (_a = headersList
|
|
77
|
+
.get('accept-language')) === null || _a === void 0 ? void 0 : _a.split(',').map(function (item) { var _a; return (_a = item.split(';')) === null || _a === void 0 ? void 0 : _a[0].trim(); });
|
|
78
|
+
if (acceptedLocales)
|
|
79
|
+
preferredLocales.push.apply(preferredLocales, acceptedLocales);
|
|
80
|
+
// add defaultLocale just in case there are no matches
|
|
81
|
+
preferredLocales.push(defaultLocale);
|
|
82
|
+
// if there are specified allowed locales
|
|
71
83
|
if (locales) {
|
|
72
|
-
return
|
|
84
|
+
return (0, generaltranslation_1.determineLocale)(preferredLocales, locales) || defaultLocale;
|
|
73
85
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
86
|
+
// if there are no specified allowed locales
|
|
87
|
+
return preferredLocales[0];
|
|
88
|
+
})();
|
|
89
|
+
return [2 /*return*/, userLocale];
|
|
77
90
|
}
|
|
78
91
|
});
|
|
79
92
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNextLocale.js","sourceRoot":"","sources":["../../src/next/getNextLocale.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,
|
|
1
|
+
{"version":3,"file":"getNextLocale.js","sourceRoot":"","sources":["../../src/next/getNextLocale.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,sCA4CC;AA1DD,wCAAuC;AACvC,wCAAuC;AACvC,yDAAuF;AACvF,wDAAiF;AAEjF;;;;;;;;GAQG;AACH,SAAsB,aAAa;wDACjC,aAA0B,EAC1B,OAA8B;;QAD9B,8BAAA,EAAA,kBAA0B;;;wBAIS,qBAAM,OAAO,CAAC,GAAG,CAAC;wBACnD,IAAA,iBAAO,GAAE,EAAE,IAAA,iBAAO,GAAE;qBACrB,CAAC,EAAA;;oBAFI,KAA6B,SAEjC,EAFK,WAAW,QAAA,EAAE,WAAW,QAAA;oBAI3B,UAAU,GAAG,CAAC;;wBAEhB,IAAM,gBAAgB,GAAa,EAAE,CAAC;wBAEtC,mCAAmC;wBACnC,IAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,2BAAgB,CAAC,CAAC;wBACvD,IAAI,YAAY;4BAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBAEtD,IAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,2BAAgB,CAAC,CAAC;wBACvD,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,EAAE,CAAC;4BACxB,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;wBAC5C,CAAC;wBAED,yCAAyC;wBACzC,IAAM,eAAe,GAAG,MAAA,WAAW;6BAChC,GAAG,CAAC,iBAAiB,CAAC,0CACrB,KAAK,CAAC,GAAG,EACV,GAAG,CAAC,UAAC,IAAI,YAAK,OAAA,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0CAAG,CAAC,EAAE,IAAI,EAAE,CAAA,EAAA,CAAC,CAAC;wBAE9C,IAAI,eAAe;4BAAE,gBAAgB,CAAC,IAAI,OAArB,gBAAgB,EAAS,eAAe,EAAE;wBAE/D,sDAAsD;wBACtD,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;wBAErC,yCAAyC;wBACzC,IAAI,OAAO,EAAE,CAAC;4BACZ,OAAO,IAAA,oCAAe,EAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,aAAa,CAAC;wBACrE,CAAC;wBACD,4CAA4C;wBAC5C,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;oBAE7B,CAAC,CAAC,EAAE,CAAC;oBAEL,sBAAO,UAAU,EAAC;;;;CAEnB"}
|
|
@@ -39,16 +39,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
39
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
40
|
};
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
var internal_1 = require("
|
|
42
|
+
var internal_1 = require("generaltranslation/internal");
|
|
43
43
|
var getDefaultFromEnv_1 = __importDefault(require("../utils/getDefaultFromEnv"));
|
|
44
44
|
exports.default = {
|
|
45
45
|
apiKey: (0, getDefaultFromEnv_1.default)('GT_API_KEY'),
|
|
46
46
|
projectID: (0, getDefaultFromEnv_1.default)('GT_PROJECT_ID'),
|
|
47
47
|
baseURL: 'https://prod.gtx.dev',
|
|
48
|
-
cacheURL: internal_1.
|
|
49
|
-
defaultLocale: internal_1.
|
|
48
|
+
cacheURL: internal_1.defaultCacheURL,
|
|
49
|
+
defaultLocale: internal_1.libraryDefaultLocale,
|
|
50
50
|
getLocale: function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
51
|
-
return [2 /*return*/, internal_1.
|
|
51
|
+
return [2 /*return*/, internal_1.libraryDefaultLocale];
|
|
52
52
|
}); }); },
|
|
53
53
|
renderSettings: {
|
|
54
54
|
method: "skeleton",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultInitGTProps.js","sourceRoot":"","sources":["../../src/primitives/defaultInitGTProps.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"defaultInitGTProps.js","sourceRoot":"","sources":["../../src/primitives/defaultInitGTProps.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAoF;AACpF,iFAA2D;AAE3D,kBAAe;IACX,MAAM,EAAE,IAAA,2BAAiB,EAAC,YAAY,CAAC;IACvC,SAAS,EAAE,IAAA,2BAAiB,EAAC,eAAe,CAAC;IAC7C,OAAO,EAAE,sBAAsB;IAC/B,QAAQ,EAAE,0BAAe;IACzB,aAAa,EAAE,+BAAoB;IACnC,SAAS,EAAE;QAAY,sBAAA,+BAAoB,EAAA;aAAA;IAC3C,cAAc,EAAE;QACZ,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,IAAI;KAChB;IACD,WAAW,EAAE;QAAY,sBAAA,CAAC,EAAE,CAAC,EAAA;aAAA;IAC7B,sBAAsB,EAAE,CAAC;IACzB,cAAc,EAAE,IAAI;CACd,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { ClientDictionary, ClientTranslations } from './types';
|
|
2
|
+
export default function ClientProvider({ children, dictionary, translations, locale, defaultLocale, translationRequired, }: {
|
|
2
3
|
children: any;
|
|
3
|
-
dictionary:
|
|
4
|
-
translations:
|
|
4
|
+
dictionary: ClientDictionary;
|
|
5
|
+
translations: ClientTranslations;
|
|
5
6
|
locale: string;
|
|
6
7
|
defaultLocale: string;
|
|
7
8
|
translationRequired: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientProvider.d.ts","sourceRoot":"","sources":["../../src/provider/ClientProvider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ClientProvider.d.ts","sourceRoot":"","sources":["../../src/provider/ClientProvider.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAI/D,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,MAAM,EACN,aAAa,EACb,mBAAmB,GACpB,EAAE;IACD,QAAQ,EAAE,GAAG,CAAC;IACd,UAAU,EAAE,gBAAgB,CAAC;IAC7B,YAAY,EAAE,kBAAkB,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,2CAoHA"}
|
|
@@ -20,62 +20,74 @@ var jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
20
20
|
var react_1 = require("react");
|
|
21
21
|
var client_1 = require("gt-react/client");
|
|
22
22
|
var internal_1 = require("gt-react/internal");
|
|
23
|
+
var internal_2 = require("gt-react/internal");
|
|
23
24
|
var generaltranslation_1 = require("generaltranslation");
|
|
24
25
|
var ClientResolver_1 = __importDefault(require("./ClientResolver"));
|
|
26
|
+
var renderVariable_1 = __importDefault(require("../server/rendering/renderVariable"));
|
|
25
27
|
// meant to be used inside the server-side <GTProvider>
|
|
26
28
|
function ClientProvider(_a) {
|
|
27
29
|
var children = _a.children, dictionary = _a.dictionary, translations = _a.translations, locale = _a.locale, defaultLocale = _a.defaultLocale, translationRequired = _a.translationRequired;
|
|
30
|
+
// For dictionaries
|
|
28
31
|
var translate = (0, react_1.useCallback)(function (id, options, f) {
|
|
29
|
-
var _a;
|
|
30
32
|
if (options === void 0) { options = {}; }
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
// Get the entry from the dictionary
|
|
34
|
+
var _a = (0, internal_2.extractEntryMetadata)(dictionary[id]), entry = _a.entry, metadata = _a.metadata;
|
|
35
|
+
if (typeof entry === 'undefined') {
|
|
33
36
|
console.warn("Dictionary entry with id \"".concat(id, "\" is null or undefined"));
|
|
34
37
|
return undefined;
|
|
35
38
|
}
|
|
36
|
-
|
|
37
|
-
if (metadata
|
|
38
|
-
if (typeof f
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
// Handle functional entries
|
|
40
|
+
if (metadata === null || metadata === void 0 ? void 0 : metadata.isFunction) {
|
|
41
|
+
if (typeof f === 'function') {
|
|
42
|
+
entry = (0, internal_2.addGTIdentifier)(f(options));
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
throw new Error("You're trying to call a function in the server dictionary on the client-side, but functions can't be passed directly from server to client. " +
|
|
46
|
+
"Try including the function you want to call as a parameter in t(), like t(\"".concat(id, "\", ").concat(options ? JSON.stringify(options) : 'undefined', ", MyFunction)"));
|
|
41
47
|
}
|
|
42
|
-
entry = (0, internal_1.addGTIdentifier)(f(options));
|
|
43
48
|
}
|
|
49
|
+
;
|
|
50
|
+
// Initialize and populate variables and variables' metadata
|
|
44
51
|
var variables = options;
|
|
45
52
|
var variablesOptions;
|
|
46
53
|
if (metadata === null || metadata === void 0 ? void 0 : metadata.variablesOptions)
|
|
47
|
-
variablesOptions = __assign(__assign({}, variablesOptions || {}), metadata.variablesOptions);
|
|
54
|
+
variablesOptions = __assign(__assign({}, (variablesOptions || {})), metadata.variablesOptions);
|
|
48
55
|
if (options.variablesOptions)
|
|
49
|
-
variablesOptions = __assign(__assign({}, variablesOptions || {}), options.variablesOptions);
|
|
56
|
+
variablesOptions = __assign(__assign({}, (variablesOptions || {})), options.variablesOptions);
|
|
57
|
+
// Handle string and content entries, if and !if translation required
|
|
50
58
|
if (typeof entry === 'string') {
|
|
51
|
-
var
|
|
52
|
-
return (0, generaltranslation_1.renderContentToString)(
|
|
59
|
+
var content = translationRequired ? (translations[id] || entry) : entry;
|
|
60
|
+
return (0, generaltranslation_1.renderContentToString)(content, [locale, defaultLocale], variables, variablesOptions);
|
|
53
61
|
}
|
|
54
|
-
|
|
62
|
+
// Fallback if there is no translation present
|
|
55
63
|
if (!translationRequired || !translations[id]) {
|
|
56
|
-
return (0,
|
|
64
|
+
return (0, internal_1.renderDefaultChildren)({
|
|
57
65
|
children: entry,
|
|
58
66
|
variables: variables,
|
|
59
67
|
variablesOptions: variablesOptions,
|
|
60
|
-
defaultLocale: defaultLocale
|
|
68
|
+
defaultLocale: defaultLocale,
|
|
69
|
+
renderVariable: renderVariable_1.default
|
|
61
70
|
});
|
|
62
71
|
}
|
|
63
|
-
var renderTranslation =
|
|
64
|
-
return (0,
|
|
65
|
-
source: entry,
|
|
72
|
+
var renderTranslation = function (translationEntry) {
|
|
73
|
+
return (0, internal_1.renderTranslatedChildren)({
|
|
74
|
+
source: entry,
|
|
75
|
+
target: translationEntry,
|
|
66
76
|
variables: variables,
|
|
67
77
|
variablesOptions: variablesOptions,
|
|
68
|
-
locales: [locale, defaultLocale]
|
|
78
|
+
locales: [locale, defaultLocale],
|
|
79
|
+
renderVariable: renderVariable_1.default
|
|
69
80
|
});
|
|
70
|
-
}
|
|
81
|
+
};
|
|
71
82
|
var translation = translations[id];
|
|
72
83
|
if (translation.promise) {
|
|
73
84
|
if (!translation.errorFallback) {
|
|
74
|
-
translation.errorFallback = (0,
|
|
85
|
+
translation.errorFallback = (0, internal_1.renderDefaultChildren)({
|
|
75
86
|
children: entry,
|
|
76
87
|
variables: variables,
|
|
77
88
|
variablesOptions: variablesOptions,
|
|
78
|
-
defaultLocale: defaultLocale
|
|
89
|
+
defaultLocale: defaultLocale,
|
|
90
|
+
renderVariable: renderVariable_1.default
|
|
79
91
|
});
|
|
80
92
|
}
|
|
81
93
|
if (!translation.loadingFallback) {
|
|
@@ -83,14 +95,14 @@ function ClientProvider(_a) {
|
|
|
83
95
|
}
|
|
84
96
|
return ((0, jsx_runtime_1.jsx)(ClientResolver_1.default, { promise: translation.promise, renderTranslation: renderTranslation, errorFallback: translation.errorFallback, loadingFallback: translation.loadingFallback }));
|
|
85
97
|
}
|
|
86
|
-
return renderTranslation(translation
|
|
98
|
+
return renderTranslation(translation);
|
|
87
99
|
}, [dictionary, translations]);
|
|
88
|
-
return ((0, jsx_runtime_1.jsx)(client_1.
|
|
100
|
+
return ((0, jsx_runtime_1.jsx)(client_1.GTContext.Provider, { value: {
|
|
89
101
|
translate: translate,
|
|
90
102
|
locale: locale,
|
|
91
103
|
defaultLocale: defaultLocale,
|
|
92
|
-
translations: translations
|
|
104
|
+
translations: translations,
|
|
105
|
+
translationRequired: translationRequired
|
|
93
106
|
}, children: children }));
|
|
94
107
|
}
|
|
95
|
-
;
|
|
96
108
|
//# sourceMappingURL=ClientProvider.js.map
|