gt-react 8.2.13 → 8.2.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/dist/branches/Branch.js +3 -5
- package/dist/branches/Branch.js.map +1 -1
- package/dist/branches/plurals/Plural.js +11 -16
- package/dist/branches/plurals/Plural.js.map +1 -1
- package/dist/branches/plurals/getPluralBranch.js +3 -6
- package/dist/branches/plurals/getPluralBranch.js.map +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.js +4 -12
- package/dist/client.js.map +1 -1
- package/dist/hooks/useBrowserLocale.js +10 -13
- package/dist/hooks/useBrowserLocale.js.map +1 -1
- package/dist/hooks/useDefaultLocale.js +3 -9
- package/dist/hooks/useDefaultLocale.js.map +1 -1
- package/dist/hooks/useElement.d.ts +18 -0
- package/dist/hooks/useElement.d.ts.map +1 -0
- package/dist/hooks/useElement.js +54 -0
- package/dist/hooks/useElement.js.map +1 -0
- package/dist/hooks/useGT.d.ts +1 -17
- package/dist/hooks/useGT.d.ts.map +1 -1
- package/dist/hooks/useGT.js +7 -99
- package/dist/hooks/useGT.js.map +1 -1
- package/dist/hooks/useLocale.js +3 -9
- package/dist/hooks/useLocale.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -29
- package/dist/index.js.map +1 -1
- package/dist/inline/T.d.ts.map +1 -1
- package/dist/inline/T.js +56 -57
- package/dist/inline/T.js.map +1 -1
- package/dist/internal/addGTIdentifier.d.ts +2 -5
- package/dist/internal/addGTIdentifier.d.ts.map +1 -1
- package/dist/internal/addGTIdentifier.js +15 -52
- package/dist/internal/addGTIdentifier.js.map +1 -1
- package/dist/internal/flattenDictionary.d.ts +2 -1
- package/dist/internal/flattenDictionary.d.ts.map +1 -1
- package/dist/internal/flattenDictionary.js +6 -9
- package/dist/internal/flattenDictionary.js.map +1 -1
- package/dist/internal/writeChildrenAsObjects.d.ts +3 -2
- package/dist/internal/writeChildrenAsObjects.d.ts.map +1 -1
- package/dist/internal/writeChildrenAsObjects.js +8 -12
- package/dist/internal/writeChildrenAsObjects.js.map +1 -1
- package/dist/internal.d.ts +2 -3
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +14 -68
- package/dist/internal.js.map +1 -1
- package/dist/messages/createMessages.d.ts +17 -0
- package/dist/messages/createMessages.d.ts.map +1 -0
- package/dist/messages/createMessages.js +27 -0
- package/dist/messages/createMessages.js.map +1 -0
- package/dist/provider/GTContext.js +4 -8
- package/dist/provider/GTContext.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 +167 -158
- package/dist/provider/GTProvider.js.map +1 -1
- package/dist/provider/helpers/extractEntryMetadata.js +1 -4
- package/dist/provider/helpers/extractEntryMetadata.js.map +1 -1
- package/dist/provider/helpers/getDictionaryEntry.d.ts +2 -2
- package/dist/provider/helpers/getDictionaryEntry.d.ts.map +1 -1
- package/dist/provider/helpers/getDictionaryEntry.js +7 -13
- package/dist/provider/helpers/getDictionaryEntry.js.map +1 -1
- package/dist/provider/helpers/getGTProp.js +1 -4
- package/dist/provider/helpers/getGTProp.js.map +1 -1
- package/dist/provider/helpers/isValidDictionaryEntry.js +1 -2
- package/dist/provider/helpers/isVariableObject.js +1 -4
- package/dist/provider/helpers/isVariableObject.js.map +1 -1
- package/dist/provider/rendering/defaultRenderSettings.js +1 -4
- package/dist/provider/rendering/defaultRenderSettings.js.map +1 -1
- package/dist/provider/rendering/renderDefaultChildren.js +17 -23
- package/dist/provider/rendering/renderDefaultChildren.js.map +1 -1
- package/dist/provider/rendering/renderSkeleton.js +14 -20
- package/dist/provider/rendering/renderSkeleton.js.map +1 -1
- package/dist/provider/rendering/renderTranslatedChildren.js +36 -42
- package/dist/provider/rendering/renderTranslatedChildren.js.map +1 -1
- package/dist/provider/rendering/renderVariable.js +10 -16
- package/dist/provider/rendering/renderVariable.js.map +1 -1
- package/dist/provider/runtime/useRuntimeTranslation.d.ts +15 -0
- package/dist/provider/runtime/useRuntimeTranslation.d.ts.map +1 -0
- package/dist/provider/runtime/useRuntimeTranslation.js +225 -0
- package/dist/provider/runtime/useRuntimeTranslation.js.map +1 -0
- package/dist/translate/translateDictionaryStrings.d.ts +3 -0
- package/dist/translate/translateDictionaryStrings.d.ts.map +1 -0
- package/dist/translate/translateDictionaryStrings.js +97 -0
- package/dist/translate/translateDictionaryStrings.js.map +1 -0
- package/dist/types/types.d.ts +54 -23
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +28 -2
- package/dist/types/types.js.map +1 -1
- package/dist/utils/utils.d.ts +3 -2
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +20 -13
- package/dist/utils/utils.js.map +1 -1
- package/dist/variables/Currency.js +8 -13
- package/dist/variables/Currency.js.map +1 -1
- package/dist/variables/DateTime.js +8 -13
- package/dist/variables/DateTime.js.map +1 -1
- package/dist/variables/Num.js +8 -13
- package/dist/variables/Num.js.map +1 -1
- package/dist/variables/Var.js +3 -5
- package/dist/variables/Var.js.map +1 -1
- package/dist/variables/_getVariableProps.js +3 -9
- package/dist/variables/_getVariableProps.js.map +1 -1
- package/dist/variables/getVariableName.js +4 -9
- package/dist/variables/getVariableName.js.map +1 -1
- package/package.json +2 -2
- package/tsconfig.json +1 -1
package/dist/internal.js
CHANGED
|
@@ -1,69 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.isTranslationError = exports.defaultRenderSettings = exports.renderSkeleton = exports.renderTranslatedChildren = exports.renderDefaultChildren = exports.getFallbackVariableName = exports.getVariableName = exports.extractEntryMetadata = exports.getPluralBranch = exports.getVariableProps = exports.getDictionaryEntry = exports.flattenDictionary = exports.isVariableObject = exports.writeChildrenAsObjects = exports.addGTIdentifier = void 0;
|
|
40
|
-
var flattenDictionary_1 = __importDefault(require("./internal/flattenDictionary"));
|
|
41
|
-
exports.flattenDictionary = flattenDictionary_1.default;
|
|
42
|
-
var addGTIdentifier_1 = __importDefault(require("./internal/addGTIdentifier"));
|
|
43
|
-
exports.addGTIdentifier = addGTIdentifier_1.default;
|
|
44
|
-
var writeChildrenAsObjects_1 = __importDefault(require("./internal/writeChildrenAsObjects"));
|
|
45
|
-
exports.writeChildrenAsObjects = writeChildrenAsObjects_1.default;
|
|
46
|
-
var getPluralBranch_1 = __importDefault(require("./branches/plurals/getPluralBranch"));
|
|
47
|
-
exports.getPluralBranch = getPluralBranch_1.default;
|
|
48
|
-
var getDictionaryEntry_1 = __importDefault(require("./provider/helpers/getDictionaryEntry"));
|
|
49
|
-
exports.getDictionaryEntry = getDictionaryEntry_1.default;
|
|
50
|
-
var extractEntryMetadata_1 = __importDefault(require("./provider/helpers/extractEntryMetadata"));
|
|
51
|
-
exports.extractEntryMetadata = extractEntryMetadata_1.default;
|
|
52
|
-
var _getVariableProps_1 = __importDefault(require("./variables/_getVariableProps"));
|
|
53
|
-
exports.getVariableProps = _getVariableProps_1.default;
|
|
54
|
-
var isVariableObject_1 = __importDefault(require("./provider/helpers/isVariableObject"));
|
|
55
|
-
exports.isVariableObject = isVariableObject_1.default;
|
|
56
|
-
var getVariableName_1 = __importStar(require("./variables/getVariableName"));
|
|
57
|
-
exports.getVariableName = getVariableName_1.default;
|
|
58
|
-
Object.defineProperty(exports, "getFallbackVariableName", { enumerable: true, get: function () { return getVariableName_1.getFallbackVariableName; } });
|
|
59
|
-
var renderDefaultChildren_1 = __importDefault(require("./provider/rendering/renderDefaultChildren"));
|
|
60
|
-
exports.renderDefaultChildren = renderDefaultChildren_1.default;
|
|
61
|
-
var renderTranslatedChildren_1 = __importDefault(require("./provider/rendering/renderTranslatedChildren"));
|
|
62
|
-
exports.renderTranslatedChildren = renderTranslatedChildren_1.default;
|
|
63
|
-
var defaultRenderSettings_1 = require("./provider/rendering/defaultRenderSettings");
|
|
64
|
-
Object.defineProperty(exports, "defaultRenderSettings", { enumerable: true, get: function () { return defaultRenderSettings_1.defaultRenderSettings; } });
|
|
65
|
-
var renderSkeleton_1 = __importDefault(require("./provider/rendering/renderSkeleton"));
|
|
66
|
-
exports.renderSkeleton = renderSkeleton_1.default;
|
|
67
|
-
var utils_1 = require("./utils/utils");
|
|
68
|
-
Object.defineProperty(exports, "isTranslationError", { enumerable: true, get: function () { return utils_1.isTranslationError; } });
|
|
1
|
+
import flattenDictionary from "./internal/flattenDictionary";
|
|
2
|
+
import addGTIdentifier from "./internal/addGTIdentifier";
|
|
3
|
+
import writeChildrenAsObjects from "./internal/writeChildrenAsObjects";
|
|
4
|
+
import getPluralBranch from "./branches/plurals/getPluralBranch";
|
|
5
|
+
import getDictionaryEntry from "./provider/helpers/getDictionaryEntry";
|
|
6
|
+
import extractEntryMetadata from "./provider/helpers/extractEntryMetadata";
|
|
7
|
+
import getVariableProps from './variables/_getVariableProps';
|
|
8
|
+
import isVariableObject from './provider/helpers/isVariableObject';
|
|
9
|
+
import getVariableName, { getFallbackVariableName } from "./variables/getVariableName";
|
|
10
|
+
import renderDefaultChildren from "./provider/rendering/renderDefaultChildren";
|
|
11
|
+
import renderTranslatedChildren from "./provider/rendering/renderTranslatedChildren";
|
|
12
|
+
import { defaultRenderSettings } from "./provider/rendering/defaultRenderSettings";
|
|
13
|
+
import renderSkeleton from "./provider/rendering/renderSkeleton";
|
|
14
|
+
export { addGTIdentifier, writeChildrenAsObjects, isVariableObject, flattenDictionary, getDictionaryEntry, getVariableProps, getPluralBranch, extractEntryMetadata, getVariableName, getFallbackVariableName, renderDefaultChildren, renderTranslatedChildren, renderSkeleton, defaultRenderSettings };
|
|
69
15
|
//# sourceMappingURL=internal.js.map
|
package/dist/internal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,8BAA8B,CAAC;AAC7D,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AACvE,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,kBAAkB,MAAM,uCAAuC,CAAC;AACvE,OAAO,oBAAoB,MAAM,yCAAyC,CAAC;AAC3E,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AACnE,OAAO,eAAe,EAAE,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,qBAAqB,MAAM,4CAA4C,CAAC;AAC/E,OAAO,wBAAwB,MAAM,+CAA+C,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,cAAc,MAAM,qCAAqC,CAAC;AAEjE,OAAO,EACH,eAAe,EAAE,sBAAsB,EAAE,gBAAgB,EAC7C,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EACnE,eAAe,EAAE,oBAAoB,EACrC,eAAe,EAAE,uBAAuB,EACxC,qBAAqB,EAAE,wBAAwB,EAC/C,cAAc,EACA,qBAAqB,EAGtC,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const projectIdMissingError = "gt-react Error: General Translation cloud services require a project ID! Find yours at www.generaltranslation.com/dashboard.";
|
|
2
|
+
export declare const createPluralMissingError: (children: any) => string;
|
|
3
|
+
export declare const createClientSideTWithoutIdError: (children: any) => string;
|
|
4
|
+
export declare const createStringTranslationError: (content: string, id?: string) => string;
|
|
5
|
+
export declare const createClientSideTDictionaryCollisionError: (id: string) => string;
|
|
6
|
+
export declare const createClientSideTHydrationError: (id: string) => string;
|
|
7
|
+
export declare const createNestedDataGTError: (child: any) => string;
|
|
8
|
+
export declare const createNestedTError: (child: any) => string;
|
|
9
|
+
export declare const renderingError = "General Translation: Rendering error.";
|
|
10
|
+
export declare const dynamicTranslationError = "Error fetching batched translations:";
|
|
11
|
+
export declare const createGenericRuntimeTranslationError: (id: string | undefined, hash: string) => string;
|
|
12
|
+
export declare const createLibraryNoEntryWarning: (id: string) => string;
|
|
13
|
+
export declare const createNoEntryWarning: (id: string, prefixedId: string) => string;
|
|
14
|
+
export declare const createInvalidElementEntryWarning: (id: string, prefixedId: string) => string;
|
|
15
|
+
export declare const createMismatchingHashWarning: (expectedHash: string, receivedHash: string) => string;
|
|
16
|
+
export declare const createMismatchingIdHashWarning: (expectedId: string, expectedHash: string, receivedId: string, receivedHash: string) => string;
|
|
17
|
+
//# sourceMappingURL=createMessages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createMessages.d.ts","sourceRoot":"","sources":["../../src/messages/createMessages.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,iIAAiI,CAAA;AAEnK,eAAO,MAAM,wBAAwB,aAAc,GAAG,WAA0E,CAAA;AAEhI,eAAO,MAAM,+BAA+B,aAAc,GAAG,WAA0E,CAAA;AAEvI,eAAO,MAAM,4BAA4B,YAAa,MAAM,OAAO,MAAM,WAAiG,CAAA;AAE1K,eAAO,MAAM,yCAAyC,OAAQ,MAAM,WAAoI,CAAA;AAExM,eAAO,MAAM,+BAA+B,OAAQ,MAAM,WACuE,CAAA;AAEjI,eAAO,MAAM,uBAAuB,UAAW,GAAG,WAAmM,CAAA;AAErP,eAAO,MAAM,kBAAkB,UAAW,GAAG,WAAmG,CAAA;AAEhJ,eAAO,MAAM,cAAc,0CAA0C,CAAA;AAErE,eAAO,MAAM,uBAAuB,yCAAyC,CAAA;AAE7E,eAAO,MAAM,oCAAoC,OAAQ,MAAM,GAAG,SAAS,QAAQ,MAAM,WAMxF,CAAA;AAID,eAAO,MAAM,2BAA2B,OAAQ,MAAM,WAA0D,CAAA;AAEhH,eAAO,MAAM,oBAAoB,OAAQ,MAAM,cAAc,MAAM,WAA4E,CAAA;AAE/I,eAAO,MAAM,gCAAgC,OAAQ,MAAM,cAAc,MAAM,WAA6J,CAAA;AAE5O,eAAO,MAAM,4BAA4B,iBAAkB,MAAM,gBAAgB,MAAM,WAA+M,CAAA;AAEtS,eAAO,MAAM,8BAA8B,eAAgB,MAAM,gBAAgB,MAAM,cAAc,MAAM,gBAAgB,MAAM,WAA4P,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// ---- ERRORS ---- //
|
|
2
|
+
export var projectIdMissingError = 'gt-react Error: General Translation cloud services require a project ID! Find yours at www.generaltranslation.com/dashboard.';
|
|
3
|
+
export var createPluralMissingError = function (children) { return "<Plural> component with children \"".concat(children, "\" requires \"n\" option."); };
|
|
4
|
+
export var createClientSideTWithoutIdError = function (children) { return "Client-side <T> with no provided 'id' prop. Children: \"".concat(children, "\""); };
|
|
5
|
+
export var createStringTranslationError = function (content, id) { return "gt-next string translation error. tx(\"".concat(content, "\")").concat(id ? " with id \"".concat(id, "\"") : '', " failed."); };
|
|
6
|
+
export var createClientSideTDictionaryCollisionError = function (id) { return "<T id=\"".concat(id, "\">, \"").concat(id, "\" is also used as a key in the dictionary. Don't give <T> components the same ID as dictionary entries."); };
|
|
7
|
+
export var createClientSideTHydrationError = function (id) { return "<T id=\"".concat(id, "\"> is used in a client component without a valid saved translation. This can cause hydration errors.")
|
|
8
|
+
+ "\n\nTo fix this error, consider using a dictionary with useGT() or pushing translations from the command line in advance."; };
|
|
9
|
+
export var createNestedDataGTError = function (child) { return "General Translation already in use on child with props: ".concat(child.props, ". This usually occurs when you nest <T> components within the same file. Remove one of the <T> components to continue."); };
|
|
10
|
+
export var createNestedTError = function (child) { var _a; return "General Translation: Nested <T> components. The inner <T> has the id: \"".concat((_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.id, "\"."); };
|
|
11
|
+
export var renderingError = 'General Translation: Rendering error.';
|
|
12
|
+
export var dynamicTranslationError = "Error fetching batched translations:";
|
|
13
|
+
export var createGenericRuntimeTranslationError = function (id, hash) {
|
|
14
|
+
if (!id) {
|
|
15
|
+
return "Translation failed for hash: ".concat(hash);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
return "Translation failed for id: ".concat(id, ", hash: ").concat(hash, " ");
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
// ---- WARNINGS ---- //
|
|
22
|
+
export var createLibraryNoEntryWarning = function (id) { return "gt-react: No dictionary entry found for id: \"".concat(id, "\""); };
|
|
23
|
+
export var createNoEntryWarning = function (id, prefixedId) { return "t('".concat(id, "') finding no translation for dictionary item ").concat(prefixedId, " !"); };
|
|
24
|
+
export var createInvalidElementEntryWarning = function (id, prefixedId) { return "t('".concat(id, "') invalid dictionary entry for ").concat(prefixedId, " ! useElement() can only be used to render JSX elements. Strings and other types are not allowed."); };
|
|
25
|
+
export var createMismatchingHashWarning = function (expectedHash, receivedHash) { return "Mismatching hashes! Expected hash: ".concat(expectedHash, ", but got hash: ").concat(receivedHash, ". We will still render your translation, but make sure to update to the newest version: www.generaltranslation.com/docs"); };
|
|
26
|
+
export var createMismatchingIdHashWarning = function (expectedId, expectedHash, receivedId, receivedHash) { return "Mismatching ids or hashes! Expected id: ".concat(expectedId, ", hash: ").concat(expectedHash, ", but got id: ").concat(receivedId, ", hash: ").concat(receivedHash, ". We will still render your translation, but make sure to update to the newest version: www.generaltranslation.com/docs"); };
|
|
27
|
+
//# sourceMappingURL=createMessages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createMessages.js","sourceRoot":"","sources":["../../src/messages/createMessages.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,MAAM,CAAC,IAAM,qBAAqB,GAAG,8HAA8H,CAAA;AAEnK,MAAM,CAAC,IAAM,wBAAwB,GAAG,UAAC,QAAa,IAAK,OAAA,6CAAqC,QAAQ,8BAAwB,EAArE,CAAqE,CAAA;AAEhI,MAAM,CAAC,IAAM,+BAA+B,GAAG,UAAC,QAAa,IAAK,OAAA,kEAA0D,QAAQ,OAAG,EAArE,CAAqE,CAAA;AAEvI,MAAM,CAAC,IAAM,4BAA4B,GAAG,UAAC,OAAe,EAAE,EAAW,IAAK,OAAA,iDAAyC,OAAO,gBAAK,EAAE,CAAC,CAAC,CAAC,qBAAa,EAAE,OAAG,CAAC,CAAC,CAAC,EAAE,aAAW,EAA5F,CAA4F,CAAA;AAE1K,MAAM,CAAC,IAAM,yCAAyC,GAAG,UAAC,EAAU,IAAK,OAAA,kBAAU,EAAE,oBAAQ,EAAE,6GAAyG,EAA/H,CAA+H,CAAA;AAExM,MAAM,CAAC,IAAM,+BAA+B,GAAG,UAAC,EAAU,IAAK,OAAA,kBAAU,EAAE,0GAAsG;MAC3K,2HAA2H,EADlE,CACkE,CAAA;AAEjI,MAAM,CAAC,IAAM,uBAAuB,GAAG,UAAC,KAAU,IAAK,OAAA,kEAA2D,KAAK,CAAC,KAAK,2HAAwH,EAA9L,CAA8L,CAAA;AAErP,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAC,KAAU,YAAK,OAAA,kFAA0E,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,EAAE,QAAI,CAAA,EAAA,CAAA;AAEhJ,MAAM,CAAC,IAAM,cAAc,GAAG,uCAAuC,CAAA;AAErE,MAAM,CAAC,IAAM,uBAAuB,GAAG,sCAAsC,CAAA;AAE7E,MAAM,CAAC,IAAM,oCAAoC,GAAG,UAAC,EAAsB,EAAE,IAAY;IACrF,IAAI,CAAC,EAAE,EAAE,CAAC;QACN,OAAO,uCAAgC,IAAI,CAAE,CAAC;IAClD,CAAC;SAAM,CAAC;QACJ,OAAO,qCAA8B,EAAE,qBAAW,IAAI,MAAG,CAAC;IAC9D,CAAC;AACL,CAAC,CAAA;AAED,wBAAwB;AAExB,MAAM,CAAC,IAAM,2BAA2B,GAAG,UAAC,EAAU,IAAK,OAAA,wDAAgD,EAAE,OAAG,EAArD,CAAqD,CAAA;AAEhH,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAAC,EAAU,EAAE,UAAkB,IAAK,OAAA,aAAM,EAAE,2DAAiD,UAAU,OAAI,EAAvE,CAAuE,CAAA;AAE/I,MAAM,CAAC,IAAM,gCAAgC,GAAG,UAAC,EAAU,EAAE,UAAkB,IAAK,OAAA,aAAM,EAAE,6CAAmC,UAAU,sGAAmG,EAAxJ,CAAwJ,CAAA;AAE5O,MAAM,CAAC,IAAM,4BAA4B,GAAG,UAAC,YAAoB,EAAE,YAAoB,IAAK,OAAA,6CAAsC,YAAY,6BAAmB,YAAY,4HAAyH,EAA1M,CAA0M,CAAA;AAEtS,MAAM,CAAC,IAAM,8BAA8B,GAAG,UAAC,UAAkB,EAAE,YAAoB,EAAE,UAAkB,EAAE,YAAoB,IAAK,OAAA,kDAA2C,UAAU,qBAAW,YAAY,2BAAiB,UAAU,qBAAW,YAAY,4HAAyH,EAAvP,CAAuP,CAAA"}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
'use client';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var react_1 = require("react");
|
|
7
|
-
exports.GTContext = (0, react_1.createContext)(undefined);
|
|
8
|
-
function useGTContext(errorString) {
|
|
2
|
+
import { createContext, useContext } from "react";
|
|
3
|
+
export var GTContext = createContext(undefined);
|
|
4
|
+
export default function useGTContext(errorString) {
|
|
9
5
|
if (errorString === void 0) { errorString = 'useGTContext() must be used within a <GTProvider>!'; }
|
|
10
|
-
var context =
|
|
6
|
+
var context = useContext(GTContext);
|
|
11
7
|
if (typeof context === 'undefined') {
|
|
12
8
|
throw new Error(errorString);
|
|
13
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GTContext.js","sourceRoot":"","sources":["../../src/provider/GTContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GTContext.js","sourceRoot":"","sources":["../../src/provider/GTContext.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAIlD,MAAM,CAAC,IAAM,SAAS,GAAG,aAAa,CAA4B,SAAS,CAAC,CAAC;AAE7E,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,WAAkE;IAAlE,4BAAA,EAAA,kEAAkE;IACnG,IAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAAA,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RenderMethod } from "../types/types";
|
|
2
2
|
import React from "react";
|
|
3
3
|
/**
|
|
4
4
|
* Provides General Translation context to its children, which can then access `useGT`, `useLocale`, and `useDefaultLocale`.
|
|
@@ -14,9 +14,9 @@ import React from "react";
|
|
|
14
14
|
* @returns {JSX.Element} The provider component for General Translation context.
|
|
15
15
|
*/
|
|
16
16
|
export default function GTProvider({ children, projectId, dictionary, locales, defaultLocale, locale, cacheUrl, runtimeUrl, renderSettings, devApiKey, ...metadata }: {
|
|
17
|
-
children?:
|
|
17
|
+
children?: React.ReactNode;
|
|
18
18
|
projectId: string;
|
|
19
|
-
dictionary?:
|
|
19
|
+
dictionary?: any;
|
|
20
20
|
locales?: string[];
|
|
21
21
|
defaultLocale?: string;
|
|
22
22
|
locale?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GTProvider.d.ts","sourceRoot":"","sources":["../../src/provider/GTProvider.tsx"],"names":[],"mappings":"AAMA,OAAO,
|
|
1
|
+
{"version":3,"file":"GTProvider.d.ts","sourceRoot":"","sources":["../../src/provider/GTProvider.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,YAAY,EAGb,MAAM,gBAAgB,CAAC;AAgBxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;;;;;;;;GAYG;AAEH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,QAAQ,EACR,SAAS,EACT,UAAe,EACf,OAAgC,EAChC,aAAoC,EACpC,MAAkE,EAClE,QAA0B,EAC1B,UAAiC,EACjC,cAAsC,EACtC,SAAS,EACT,GAAG,QAAQ,EACZ,EAAE;IACC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE;QACb,MAAM,EAAE,YAAY,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA0NpB"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __assign = (this && this.__assign) || function () {
|
|
3
2
|
__assign = Object.assign || function(t) {
|
|
4
3
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -57,30 +56,22 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
57
56
|
}
|
|
58
57
|
return t;
|
|
59
58
|
};
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
var internal_2 = require("generaltranslation/internal");
|
|
77
|
-
var renderVariable_1 = __importDefault(require("./rendering/renderVariable"));
|
|
78
|
-
var createErrors_1 = require("../errors/createErrors");
|
|
79
|
-
var supported_locales_1 = require("@generaltranslation/supported-locales");
|
|
80
|
-
var useRuntimeTranslation_1 = __importDefault(require("./dynamic/useRuntimeTranslation"));
|
|
81
|
-
var defaultRenderSettings_1 = require("./rendering/defaultRenderSettings");
|
|
82
|
-
var id_1 = require("generaltranslation/id");
|
|
83
|
-
var renderSkeleton_1 = __importDefault(require("./rendering/renderSkeleton"));
|
|
59
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
60
|
+
import { useMemo } from "react";
|
|
61
|
+
import { isSameLanguage, renderContentToString, requiresTranslation, splitStringToContent } from "generaltranslation";
|
|
62
|
+
import { useCallback, useEffect, useState } from "react";
|
|
63
|
+
import useBrowserLocale from "../hooks/useBrowserLocale";
|
|
64
|
+
import { GTContext } from "./GTContext";
|
|
65
|
+
import getDictionaryEntry from "./helpers/getDictionaryEntry";
|
|
66
|
+
import { flattenDictionary } from "../internal";
|
|
67
|
+
import extractEntryMetadata from "./helpers/extractEntryMetadata";
|
|
68
|
+
import { defaultCacheUrl, defaultRuntimeApiUrl, libraryDefaultLocale, } from "generaltranslation/internal";
|
|
69
|
+
import { projectIdMissingError } from "../messages/createMessages";
|
|
70
|
+
import { listSupportedLocales } from "@generaltranslation/supported-locales";
|
|
71
|
+
import useRuntimeTranslation from "./runtime/useRuntimeTranslation";
|
|
72
|
+
import { defaultRenderSettings } from "./rendering/defaultRenderSettings";
|
|
73
|
+
import { hashJsxChildren } from "generaltranslation/id";
|
|
74
|
+
import T from "../inline/T";
|
|
84
75
|
/**
|
|
85
76
|
* Provides General Translation context to its children, which can then access `useGT`, `useLocale`, and `useDefaultLocale`.
|
|
86
77
|
*
|
|
@@ -94,11 +85,11 @@ var renderSkeleton_1 = __importDefault(require("./rendering/renderSkeleton"));
|
|
|
94
85
|
*
|
|
95
86
|
* @returns {JSX.Element} The provider component for General Translation context.
|
|
96
87
|
*/
|
|
97
|
-
function GTProvider(_a) {
|
|
88
|
+
export default function GTProvider(_a) {
|
|
98
89
|
var _this = this;
|
|
99
|
-
var children = _a.children, projectId = _a.projectId, _b = _a.dictionary, dictionary = _b === void 0 ? {} : _b, _c = _a.locales, locales = _c === void 0 ?
|
|
100
|
-
if (!projectId && (cacheUrl ===
|
|
101
|
-
throw new Error(
|
|
90
|
+
var children = _a.children, projectId = _a.projectId, _b = _a.dictionary, dictionary = _b === void 0 ? {} : _b, _c = _a.locales, locales = _c === void 0 ? listSupportedLocales() : _c, _d = _a.defaultLocale, defaultLocale = _d === void 0 ? libraryDefaultLocale : _d, _e = _a.locale, locale = _e === void 0 ? useBrowserLocale(defaultLocale, locales) || defaultLocale : _e, _f = _a.cacheUrl, cacheUrl = _f === void 0 ? defaultCacheUrl : _f, _g = _a.runtimeUrl, runtimeUrl = _g === void 0 ? defaultRuntimeApiUrl : _g, _h = _a.renderSettings, renderSettings = _h === void 0 ? defaultRenderSettings : _h, devApiKey = _a.devApiKey, metadata = __rest(_a, ["children", "projectId", "dictionary", "locales", "defaultLocale", "locale", "cacheUrl", "runtimeUrl", "renderSettings", "devApiKey"]);
|
|
91
|
+
if (!projectId && (cacheUrl === defaultCacheUrl || runtimeUrl === defaultRuntimeApiUrl)) {
|
|
92
|
+
throw new Error(projectIdMissingError);
|
|
102
93
|
}
|
|
103
94
|
;
|
|
104
95
|
// disable subtle for development
|
|
@@ -107,153 +98,171 @@ function GTProvider(_a) {
|
|
|
107
98
|
renderSettings.method = 'default';
|
|
108
99
|
}
|
|
109
100
|
// get tx required info
|
|
110
|
-
var _j =
|
|
111
|
-
var
|
|
112
|
-
|
|
113
|
-
|
|
101
|
+
var _j = useMemo(function () {
|
|
102
|
+
var translationRequired = requiresTranslation(defaultLocale, locale, locales);
|
|
103
|
+
var dialectTranslationRequired = translationRequired && isSameLanguage(defaultLocale, locale);
|
|
104
|
+
return [translationRequired, dialectTranslationRequired];
|
|
105
|
+
}, [defaultLocale, locale, locales]), translationRequired = _j[0], dialectTranslationRequired = _j[1];
|
|
114
106
|
// tracking translations
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
107
|
+
/** Key for translation tracking:
|
|
108
|
+
* Cache Loading -> translations = null
|
|
109
|
+
* Cache Fail (for locale) -> translations = {}
|
|
110
|
+
* Cache Fail (for id) -> translations[id] = undefined
|
|
111
|
+
* Cache Fail (for hash) -> translations[id][hash] = undefined
|
|
112
|
+
*
|
|
113
|
+
* API Loading -> translations[id][hash] = TranslationLoading
|
|
114
|
+
* API Fail (for batch) -> translations[id][hash] = TranslationError
|
|
115
|
+
* API Fail (for hash) -> translations[id][hash] = TranslationError
|
|
116
|
+
*
|
|
117
|
+
* Success (Cache/API) -> translations[id][hash] = TranslationSuccess
|
|
118
|
+
*
|
|
119
|
+
* Possible scenarios:
|
|
120
|
+
* Cache Loading -> Success
|
|
121
|
+
* Cache Loading -> Cache Fail -> API Loading -> Success
|
|
122
|
+
* Cache Loading -> Cache Fail -> API Loading -> API Fail
|
|
123
|
+
*/
|
|
124
|
+
var _k = useState((cacheUrl && translationRequired) ? null : {}), translations = _k[0], setTranslations = _k[1];
|
|
125
|
+
// ----- CHECK CACHE FOR TX ----- //
|
|
126
|
+
useEffect(function () {
|
|
127
|
+
// check if cache fetch is necessary
|
|
128
|
+
if (translations || !translationRequired)
|
|
129
|
+
return;
|
|
130
|
+
// fetch translations from cache
|
|
131
|
+
(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
132
|
+
var response, result, parsedResult, error_1;
|
|
133
|
+
return __generator(this, function (_a) {
|
|
134
|
+
switch (_a.label) {
|
|
135
|
+
case 0:
|
|
136
|
+
_a.trys.push([0, 3, , 4]);
|
|
137
|
+
return [4 /*yield*/, fetch("".concat(cacheUrl, "/").concat(projectId, "/").concat(locale))];
|
|
138
|
+
case 1:
|
|
139
|
+
response = _a.sent();
|
|
140
|
+
return [4 /*yield*/, response.json()];
|
|
141
|
+
case 2:
|
|
142
|
+
result = _a.sent();
|
|
143
|
+
parsedResult = Object.entries(result).reduce(function (acc, _a) {
|
|
144
|
+
var id = _a[0], hashToTranslation = _a[1];
|
|
145
|
+
acc[id] = Object.entries(hashToTranslation).reduce(function (acc, _a) {
|
|
146
|
+
var hash = _a[0], content = _a[1];
|
|
147
|
+
acc[hash] = { state: 'success', entry: content };
|
|
148
|
+
return acc;
|
|
149
|
+
}, {});
|
|
150
|
+
return acc;
|
|
151
|
+
}, {});
|
|
152
|
+
setTranslations(parsedResult);
|
|
153
|
+
return [3 /*break*/, 4];
|
|
154
|
+
case 3:
|
|
155
|
+
error_1 = _a.sent();
|
|
156
|
+
setTranslations({}); // not classified as a tx error, bc we can still fetch from API
|
|
157
|
+
return [3 /*break*/, 4];
|
|
158
|
+
case 4: return [2 /*return*/];
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}); })();
|
|
162
|
+
}, [translations, translationRequired, cacheUrl, projectId, locale]);
|
|
163
|
+
// ----- PERFORM DICTIONARY TRANSLATION ----- //
|
|
164
|
+
// Flatten dictionaries for processing while waiting for translations
|
|
165
|
+
var flattenedDictionary = useMemo(function () { return flattenDictionary(dictionary); }, [dictionary]);
|
|
166
|
+
var stringData = useMemo(function () {
|
|
167
|
+
if (!translationRequired)
|
|
168
|
+
return {};
|
|
169
|
+
return Object.entries(flattenedDictionary).filter(function (_a) {
|
|
170
|
+
var _ = _a[0], entryWithMetadata = _a[1];
|
|
171
|
+
var entry = extractEntryMetadata(entryWithMetadata).entry;
|
|
172
|
+
if (typeof entry === 'string')
|
|
173
|
+
return true;
|
|
174
|
+
}).reduce(function (acc, _a) {
|
|
175
|
+
var id = _a[0], entryWithMetadata = _a[1];
|
|
176
|
+
var _b = extractEntryMetadata(entryWithMetadata), entry = _b.entry, metadata = _b.metadata;
|
|
177
|
+
var context = metadata === null || metadata === void 0 ? void 0 : metadata.context;
|
|
178
|
+
var source = splitStringToContent(entry);
|
|
179
|
+
var hash = hashJsxChildren(__assign({ source: source }, (context && { context: context })));
|
|
180
|
+
acc[id] = { source: source, hash: hash };
|
|
181
|
+
return acc;
|
|
182
|
+
}, {});
|
|
183
|
+
}, [flattenedDictionary, translationRequired]);
|
|
184
|
+
var _l = useMemo(function () {
|
|
185
|
+
var stringIsLoading = false;
|
|
186
|
+
var unresolvedDictionaryStringsAndHashes = Object.entries(stringData).filter(function (_a) {
|
|
187
|
+
var _b, _c, _d;
|
|
188
|
+
var id = _a[0], hash = _a[1].hash;
|
|
189
|
+
if (((_c = (_b = translations === null || translations === void 0 ? void 0 : translations[id]) === null || _b === void 0 ? void 0 : _b[hash]) === null || _c === void 0 ? void 0 : _c.state) === 'loading')
|
|
190
|
+
stringIsLoading = true;
|
|
191
|
+
return !((_d = translations === null || translations === void 0 ? void 0 : translations[id]) === null || _d === void 0 ? void 0 : _d[hash]);
|
|
192
|
+
});
|
|
193
|
+
var dictionaryStringsResolved = !stringIsLoading && unresolvedDictionaryStringsAndHashes.length === 0;
|
|
194
|
+
return [unresolvedDictionaryStringsAndHashes, dictionaryStringsResolved];
|
|
195
|
+
}, [translations, stringData]), unresolvedDictionaryStringsAndHashes = _l[0], dictionaryStringsResolved = _l[1];
|
|
196
|
+
// do translation strings (API)
|
|
197
|
+
// this useEffect is for translating strings in the dictionary before the page loads
|
|
198
|
+
// page will block until strings are loaded (so errors or translations)
|
|
199
|
+
useEffect(function () {
|
|
200
|
+
// tx required or dict strings already resolved
|
|
201
|
+
if (!translationRequired || !unresolvedDictionaryStringsAndHashes.length)
|
|
202
|
+
return;
|
|
203
|
+
// iterate through unresolvedDictionaryStringsAndHashes
|
|
204
|
+
unresolvedDictionaryStringsAndHashes.forEach(function (_a) {
|
|
205
|
+
var id = _a[0], _b = _a[1], hash = _b.hash, source = _b.source;
|
|
206
|
+
var metadata = extractEntryMetadata(flattenedDictionary[id]).metadata;
|
|
207
|
+
// Translate the content
|
|
208
|
+
translateContent({
|
|
209
|
+
source: source,
|
|
210
|
+
targetLocale: locale,
|
|
211
|
+
metadata: __assign(__assign({}, metadata), { id: id, hash: hash })
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
// is this already translated? if so, skip
|
|
215
|
+
}, [translationRequired, unresolvedDictionaryStringsAndHashes, flattenedDictionary]);
|
|
216
|
+
// ----- TRANSLATE FUNCTION FOR DICTIONARIES ----- //
|
|
217
|
+
var translateDictionaryEntry = useCallback(function (id, options) {
|
|
218
|
+
// ----- SETUP ----- //
|
|
150
219
|
var _a;
|
|
151
220
|
if (options === void 0) { options = {}; }
|
|
152
221
|
// get the dictionary entry
|
|
153
|
-
var dictionaryEntry = (
|
|
154
|
-
if (dictionaryEntry === undefined
|
|
155
|
-
|
|
156
|
-
(typeof dictionaryEntry === "object" && !Array.isArray(dictionaryEntry))) {
|
|
157
|
-
console.warn((0, createErrors_1.createLibraryNoEntryWarning)(id));
|
|
158
|
-
return undefined;
|
|
222
|
+
var dictionaryEntry = getDictionaryEntry(flattenedDictionary, id);
|
|
223
|
+
if (dictionaryEntry === undefined) {
|
|
224
|
+
return undefined; // dictionary entry not found
|
|
159
225
|
}
|
|
160
|
-
|
|
161
|
-
|
|
226
|
+
// Parse the dictionary entry
|
|
227
|
+
var _b = extractEntryMetadata(dictionaryEntry), entry = _b.entry, metadata = _b.metadata;
|
|
162
228
|
var variables = options;
|
|
163
229
|
var variablesOptions = metadata === null || metadata === void 0 ? void 0 : metadata.variablesOptions;
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
// render default locale
|
|
171
|
-
var renderDefaultLocale = function () {
|
|
172
|
-
if (typeof taggedEntry === 'string')
|
|
173
|
-
return renderDefaultContent();
|
|
174
|
-
return (0, renderDefaultChildren_1.default)({
|
|
175
|
-
children: taggedEntry,
|
|
176
|
-
variables: variables,
|
|
177
|
-
variablesOptions: variablesOptions,
|
|
178
|
-
defaultLocale: defaultLocale,
|
|
179
|
-
renderVariable: renderVariable_1.default
|
|
180
|
-
});
|
|
181
|
-
};
|
|
182
|
-
// render skeleton
|
|
183
|
-
var renderLoadingSkeleton = function () {
|
|
184
|
-
if (typeof taggedEntry === 'string')
|
|
185
|
-
return renderDefaultContent();
|
|
186
|
-
return (0, renderSkeleton_1.default)({
|
|
187
|
-
children: taggedEntry,
|
|
188
|
-
variables: variables,
|
|
189
|
-
defaultLocale: defaultLocale,
|
|
190
|
-
renderVariable: renderVariable_1.default
|
|
191
|
-
});
|
|
192
|
-
};
|
|
193
|
-
// default behavior (skeleton except when language is same ie en-US -> en-GB)
|
|
194
|
-
var renderDefault = function () {
|
|
195
|
-
if (regionalTranslationRequired)
|
|
196
|
-
return renderDefaultLocale();
|
|
197
|
-
return renderLoadingSkeleton();
|
|
198
|
-
};
|
|
199
|
-
// render translated content
|
|
200
|
-
var renderTranslation = function (target) {
|
|
201
|
-
if (typeof taggedEntry === 'string')
|
|
202
|
-
return (0, generaltranslation_1.renderContentToString)(target, [locale, defaultLocale], variables, variablesOptions);
|
|
203
|
-
return (0, renderTranslatedChildren_1.default)({
|
|
204
|
-
source: taggedEntry,
|
|
205
|
-
target: target,
|
|
206
|
-
variables: variables,
|
|
207
|
-
variablesOptions: variablesOptions,
|
|
208
|
-
locales: [locale, defaultLocale],
|
|
209
|
-
renderVariable: renderVariable_1.default
|
|
210
|
-
});
|
|
211
|
-
};
|
|
212
|
-
// ----- RENDER LOGIC ----- //
|
|
213
|
-
// If no translations are required
|
|
214
|
-
if (!translationRequired) {
|
|
215
|
-
renderDefaultLocale();
|
|
216
|
-
}
|
|
217
|
-
// get hash
|
|
218
|
-
var context = metadata === null || metadata === void 0 ? void 0 : metadata.context;
|
|
219
|
-
var childrenAsObjects = (0, internal_1.writeChildrenAsObjects)(taggedEntry);
|
|
220
|
-
var hash = (0, id_1.hashJsxChildren)(context
|
|
221
|
-
? { source: childrenAsObjects, context: context }
|
|
222
|
-
: { source: childrenAsObjects });
|
|
223
|
-
// error behavior -> fallback to default language
|
|
224
|
-
if ((0, internal_1.isTranslationError)(translations === null || translations === void 0 ? void 0 : translations[id])) {
|
|
225
|
-
return renderDefaultLocale();
|
|
226
|
-
}
|
|
227
|
-
// loading
|
|
228
|
-
if (!translations || !((_a = translations[id]) === null || _a === void 0 ? void 0 : _a[hash])) {
|
|
229
|
-
if (renderSettings.method === 'skeleton') {
|
|
230
|
-
return renderLoadingSkeleton();
|
|
231
|
-
}
|
|
232
|
-
if (renderSettings.method === 'replace') {
|
|
233
|
-
return renderDefaultLocale();
|
|
230
|
+
// ----- RENDER STRINGS ----- //
|
|
231
|
+
if (typeof entry === 'string') { // render strings
|
|
232
|
+
// no translation required
|
|
233
|
+
var source = splitStringToContent(entry);
|
|
234
|
+
if (!translationRequired) {
|
|
235
|
+
return renderContentToString(source, locales, variables, variablesOptions);
|
|
234
236
|
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
+
// get translation entry
|
|
238
|
+
var context = metadata === null || metadata === void 0 ? void 0 : metadata.context;
|
|
239
|
+
var hash = (metadata === null || metadata === void 0 ? void 0 : metadata.hash) || hashJsxChildren(__assign({ source: source }, (context && { context: context })));
|
|
240
|
+
var translationEntry = (_a = translations === null || translations === void 0 ? void 0 : translations[id]) === null || _a === void 0 ? void 0 : _a[hash];
|
|
241
|
+
// error behavior
|
|
242
|
+
if (!translationEntry || (translationEntry === null || translationEntry === void 0 ? void 0 : translationEntry.state) !== 'success') {
|
|
243
|
+
return renderContentToString(source, locales, variables, variablesOptions);
|
|
237
244
|
}
|
|
238
|
-
|
|
245
|
+
// render translated content
|
|
246
|
+
return renderContentToString(translationEntry.entry, [locale, defaultLocale], variables, variablesOptions);
|
|
239
247
|
}
|
|
240
|
-
//
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
},
|
|
244
|
-
|
|
245
|
-
return ((
|
|
246
|
-
|
|
248
|
+
// ----- RENDER JSX ----- //
|
|
249
|
+
return _jsx(T, __assign({ id: id, variables: variables, variablesOptions: variablesOptions }, metadata, { children: entry }));
|
|
250
|
+
}, [dictionary, translations, translationRequired, defaultLocale, flattenedDictionary, dictionaryStringsResolved]);
|
|
251
|
+
var _m = useRuntimeTranslation(__assign({ targetLocale: locale, projectId: projectId, defaultLocale: defaultLocale, devApiKey: devApiKey, runtimeUrl: runtimeUrl, setTranslations: setTranslations }, metadata)), translateChildren = _m.translateChildren, translateContent = _m.translateContent, translationEnabled = _m.translationEnabled;
|
|
252
|
+
// hang until cache response, then render translations or loading state (when waiting on API response)
|
|
253
|
+
return (_jsx(GTContext.Provider, { value: {
|
|
254
|
+
translateDictionaryEntry: translateDictionaryEntry,
|
|
247
255
|
translateContent: translateContent,
|
|
248
256
|
translateChildren: translateChildren,
|
|
249
257
|
locale: locale,
|
|
250
258
|
defaultLocale: defaultLocale,
|
|
259
|
+
dictionary: dictionary,
|
|
251
260
|
translations: translations,
|
|
252
261
|
translationRequired: translationRequired,
|
|
253
|
-
|
|
262
|
+
dialectTranslationRequired: dialectTranslationRequired,
|
|
254
263
|
projectId: projectId,
|
|
255
264
|
translationEnabled: translationEnabled,
|
|
256
265
|
renderSettings: renderSettings,
|
|
257
|
-
}, children: children }));
|
|
266
|
+
}, children: dictionaryStringsResolved && translations && children }));
|
|
258
267
|
}
|
|
259
268
|
//# sourceMappingURL=GTProvider.js.map
|