gt-react 3.0.4 → 3.0.6
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/config/I18NConfiguration.d.ts +9 -3
- package/dist/config/I18NConfiguration.d.ts.map +1 -1
- package/dist/config/I18NConfiguration.js +37 -14
- package/dist/config/I18NConfiguration.js.map +1 -1
- package/dist/config/LocalDictionaryManager.d.ts +31 -0
- package/dist/config/LocalDictionaryManager.d.ts.map +1 -0
- package/dist/config/LocalDictionaryManager.js +95 -0
- package/dist/config/LocalDictionaryManager.js.map +1 -0
- package/dist/config/{DictionaryManager.d.ts → RemoteDictionaryManager.d.ts} +2 -2
- package/dist/config/RemoteDictionaryManager.d.ts.map +1 -0
- package/dist/config/{DictionaryManager.js → RemoteDictionaryManager.js} +3 -3
- package/dist/config/RemoteDictionaryManager.js.map +1 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -5
- package/dist/index.js.map +1 -1
- package/dist/intl/createIntlFunction.d.ts.map +1 -1
- package/dist/intl/createIntlFunction.js +5 -3
- package/dist/intl/createIntlFunction.js.map +1 -1
- package/dist/server/ServerI18N.d.ts.map +1 -1
- package/dist/server/ServerI18N.js +4 -0
- package/dist/server/ServerI18N.js.map +1 -1
- package/dist/server/resolvers/I18NResolver.d.ts +0 -8
- package/dist/server/resolvers/I18NResolver.d.ts.map +1 -1
- package/dist/server/resolvers/I18NResolver.js +17 -18
- package/dist/server/resolvers/I18NResolver.js.map +1 -1
- package/dist/types/CreateGTProps.d.ts +2 -0
- package/dist/types/CreateGTProps.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/I18N/ServerI18N.d.ts +0 -12
- package/dist/I18N/ServerI18N.d.ts.map +0 -1
- package/dist/I18N/ServerI18N.js +0 -84
- package/dist/I18N/ServerI18N.js.map +0 -1
- package/dist/I18N/createI18NComponent.d.ts +0 -9
- package/dist/I18N/createI18NComponent.d.ts.map +0 -1
- package/dist/I18N/createI18NComponent.js +0 -29
- package/dist/I18N/createI18NComponent.js.map +0 -1
- package/dist/I18N/helpers/addGTIdentifier.d.ts +0 -11
- package/dist/I18N/helpers/addGTIdentifier.d.ts.map +0 -1
- package/dist/I18N/helpers/addGTIdentifier.js +0 -158
- package/dist/I18N/helpers/addGTIdentifier.js.map +0 -1
- package/dist/I18N/helpers/generateHash.d.ts +0 -12
- package/dist/I18N/helpers/generateHash.d.ts.map +0 -1
- package/dist/I18N/helpers/generateHash.js +0 -34
- package/dist/I18N/helpers/generateHash.js.map +0 -1
- package/dist/I18N/helpers/writeChildrenAsObjects.d.ts +0 -11
- package/dist/I18N/helpers/writeChildrenAsObjects.d.ts.map +0 -1
- package/dist/I18N/helpers/writeChildrenAsObjects.js +0 -129
- package/dist/I18N/helpers/writeChildrenAsObjects.js.map +0 -1
- package/dist/I18N/renderChildren.d.ts +0 -24
- package/dist/I18N/renderChildren.d.ts.map +0 -1
- package/dist/I18N/renderChildren.js +0 -180
- package/dist/I18N/renderChildren.js.map +0 -1
- package/dist/I18N/resolvers/I18NResolver.d.ts +0 -16
- package/dist/I18N/resolvers/I18NResolver.d.ts.map +0 -1
- package/dist/I18N/resolvers/I18NResolver.js +0 -59
- package/dist/I18N/resolvers/I18NResolver.js.map +0 -1
- package/dist/config/DictionaryManager.d.ts.map +0 -1
- package/dist/config/DictionaryManager.js.map +0 -1
- package/dist/types/CreateI18NConfigProps.d.ts +0 -2
- package/dist/types/CreateI18NConfigProps.d.ts.map +0 -1
- package/dist/types/CreateI18NConfigProps.js +0 -4
- package/dist/types/CreateI18NConfigProps.js.map +0 -1
- package/dist/types/GTInterface.d.ts +0 -29
- package/dist/types/GTInterface.d.ts.map +0 -1
- package/dist/types/GTInterface.js +0 -3
- package/dist/types/GTInterface.js.map +0 -1
|
@@ -4,12 +4,14 @@ type I18NConfigurationParams = {
|
|
|
4
4
|
projectID: string;
|
|
5
5
|
cacheURL: string;
|
|
6
6
|
baseURL: string;
|
|
7
|
+
remoteSource: boolean;
|
|
7
8
|
getLocale: () => string;
|
|
8
9
|
defaultLocale: string;
|
|
9
10
|
approvedLocales?: string[];
|
|
10
11
|
renderMethod: string;
|
|
11
12
|
dictionary: Record<string, any>;
|
|
12
13
|
dictionaryName: string;
|
|
14
|
+
translations: Record<string, () => Promise<Record<string, any>>> | null;
|
|
13
15
|
maxConcurrentRequests: number;
|
|
14
16
|
batchInterval: number;
|
|
15
17
|
getMetadata: () => Record<string, any>;
|
|
@@ -18,13 +20,16 @@ type I18NConfigurationParams = {
|
|
|
18
20
|
export default class I18NConfiguration {
|
|
19
21
|
apiKey: string;
|
|
20
22
|
projectID: string;
|
|
23
|
+
remoteSource: boolean;
|
|
21
24
|
getLocale: () => string;
|
|
22
25
|
defaultLocale: string;
|
|
23
26
|
approvedLocales: string[] | undefined;
|
|
24
27
|
renderMethod: string;
|
|
25
28
|
dictionaryName: string;
|
|
26
29
|
dictionary: Record<string, any>;
|
|
27
|
-
|
|
30
|
+
translations: Record<string, () => Promise<Record<string, any>>> | null;
|
|
31
|
+
private _localDictionaryManager;
|
|
32
|
+
private _remoteDictionaryManager;
|
|
28
33
|
gt: GT;
|
|
29
34
|
getMetadata: () => Record<string, any>;
|
|
30
35
|
metadata: Record<string, any>;
|
|
@@ -33,7 +38,7 @@ export default class I18NConfiguration {
|
|
|
33
38
|
private _queue;
|
|
34
39
|
private _activeRequests;
|
|
35
40
|
private _translationCache;
|
|
36
|
-
constructor({ apiKey, projectID, baseURL, cacheURL, getLocale, defaultLocale, approvedLocales, renderMethod, dictionary, dictionaryName, maxConcurrentRequests, batchInterval, getMetadata, ...metadata }: I18NConfigurationParams);
|
|
41
|
+
constructor({ apiKey, projectID, baseURL, cacheURL, remoteSource, getLocale, defaultLocale, approvedLocales, renderMethod, dictionary, dictionaryName, translations, maxConcurrentRequests, batchInterval, getMetadata, ...metadata }: I18NConfigurationParams);
|
|
37
42
|
/**
|
|
38
43
|
* Gets the application's default locale
|
|
39
44
|
* @returns {string} A BCP-47 language tag
|
|
@@ -54,6 +59,7 @@ export default class I18NConfiguration {
|
|
|
54
59
|
* @returns An entry from the dictionary determined by id
|
|
55
60
|
*/
|
|
56
61
|
getDictionaryEntry(id: string): any;
|
|
62
|
+
hasRemoteSource(): boolean;
|
|
57
63
|
/**
|
|
58
64
|
* Get the render method
|
|
59
65
|
* @returns The current render method. As of 7/26/24: "replace", "hang", "subtle"
|
|
@@ -77,7 +83,7 @@ export default class I18NConfiguration {
|
|
|
77
83
|
* @param locale - The user's locale
|
|
78
84
|
* @param key - Key in the dictionary. For strings, the original language version of that string. For React children, a hash.
|
|
79
85
|
* @param dictionaryName - User-defined dictionary name, for distinguishing between multiple translation dictionaries for a single language.
|
|
80
|
-
* @returns A promise that resolves to the a value in the translations
|
|
86
|
+
* @returns A promise that resolves to the a value in the translations.
|
|
81
87
|
*/
|
|
82
88
|
getTranslation(locale: string, key: string, id?: string, dictionaryName?: string): Promise<any | null>;
|
|
83
89
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"I18NConfiguration.d.ts","sourceRoot":"","sources":["../../src/config/I18NConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"I18NConfiguration.d.ts","sourceRoot":"","sources":["../../src/config/I18NConfiguration.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,26 +47,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
47
47
|
};
|
|
48
48
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
49
|
const generaltranslation_1 = __importStar(require("generaltranslation"));
|
|
50
|
-
const
|
|
50
|
+
const RemoteDictionaryManager_1 = __importDefault(require("./RemoteDictionaryManager"));
|
|
51
51
|
const getDictionaryEntry_1 = __importDefault(require("../dictionary/getDictionaryEntry"));
|
|
52
|
+
const LocalDictionaryManager_1 = __importDefault(require("./LocalDictionaryManager"));
|
|
52
53
|
class I18NConfiguration {
|
|
53
54
|
constructor(_a) {
|
|
54
55
|
var {
|
|
55
56
|
// Cloud integration
|
|
56
|
-
apiKey, projectID, baseURL, cacheURL,
|
|
57
|
+
apiKey, projectID, baseURL, cacheURL, remoteSource,
|
|
57
58
|
// Locale info
|
|
58
59
|
getLocale, defaultLocale, approvedLocales,
|
|
59
60
|
// Render method
|
|
60
61
|
renderMethod,
|
|
61
62
|
// Dictionaries
|
|
62
|
-
dictionary, dictionaryName,
|
|
63
|
+
dictionary, dictionaryName, translations,
|
|
63
64
|
// Batching config
|
|
64
65
|
maxConcurrentRequests, batchInterval,
|
|
65
66
|
// Other metadata
|
|
66
|
-
getMetadata } = _a, metadata = __rest(_a, ["apiKey", "projectID", "baseURL", "cacheURL", "getLocale", "defaultLocale", "approvedLocales", "renderMethod", "dictionary", "dictionaryName", "maxConcurrentRequests", "batchInterval", "getMetadata"]);
|
|
67
|
+
getMetadata } = _a, metadata = __rest(_a, ["apiKey", "projectID", "baseURL", "cacheURL", "remoteSource", "getLocale", "defaultLocale", "approvedLocales", "renderMethod", "dictionary", "dictionaryName", "translations", "maxConcurrentRequests", "batchInterval", "getMetadata"]);
|
|
67
68
|
// Cloud integration
|
|
68
69
|
this.apiKey = apiKey;
|
|
69
70
|
this.projectID = projectID;
|
|
71
|
+
this.remoteSource = remoteSource;
|
|
70
72
|
// Locales
|
|
71
73
|
this.getLocale = getLocale;
|
|
72
74
|
this.defaultLocale = defaultLocale;
|
|
@@ -76,16 +78,24 @@ class I18NConfiguration {
|
|
|
76
78
|
// Dictionaries
|
|
77
79
|
this.dictionary = dictionary;
|
|
78
80
|
this.dictionaryName = dictionaryName;
|
|
81
|
+
this.translations = translations;
|
|
79
82
|
// GT
|
|
80
83
|
this.gt = new generaltranslation_1.default({ projectID, apiKey, defaultLanguage: defaultLocale, baseURL });
|
|
81
84
|
// Other metadata
|
|
82
85
|
this.getMetadata = getMetadata;
|
|
83
86
|
this.metadata = Object.assign({ projectID: this.projectID, defaultLanguage: this.defaultLocale, dictionaryName }, metadata);
|
|
84
|
-
// Dictionary
|
|
85
|
-
this.
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
// Dictionary managers
|
|
88
|
+
if (this.translations) {
|
|
89
|
+
this._localDictionaryManager = new LocalDictionaryManager_1.default({
|
|
90
|
+
translations: this.translations
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
if (this.remoteSource) {
|
|
94
|
+
this._remoteDictionaryManager = new RemoteDictionaryManager_1.default({
|
|
95
|
+
cacheURL: cacheURL,
|
|
96
|
+
projectID: this.projectID
|
|
97
|
+
});
|
|
98
|
+
}
|
|
89
99
|
// Batching
|
|
90
100
|
this.maxConcurrentRequests = maxConcurrentRequests;
|
|
91
101
|
this.batchInterval = batchInterval;
|
|
@@ -122,6 +132,9 @@ class I18NConfiguration {
|
|
|
122
132
|
getDictionaryEntry(id) {
|
|
123
133
|
return (0, getDictionaryEntry_1.default)(id, this.dictionary);
|
|
124
134
|
}
|
|
135
|
+
hasRemoteSource() {
|
|
136
|
+
return this.remoteSource;
|
|
137
|
+
}
|
|
125
138
|
/**
|
|
126
139
|
* Get the render method
|
|
127
140
|
* @returns The current render method. As of 7/26/24: "replace", "hang", "subtle"
|
|
@@ -139,7 +152,7 @@ class I18NConfiguration {
|
|
|
139
152
|
return false;
|
|
140
153
|
if (this.approvedLocales && !this.approvedLocales.some(approvedLocale => (0, generaltranslation_1.isSameLanguage)(locale, approvedLocale)))
|
|
141
154
|
return false;
|
|
142
|
-
if ((0, generaltranslation_1.
|
|
155
|
+
if ((0, generaltranslation_1.isSameLanguage)(locale, this.defaultLocale))
|
|
143
156
|
return false;
|
|
144
157
|
return true;
|
|
145
158
|
}
|
|
@@ -151,7 +164,17 @@ class I18NConfiguration {
|
|
|
151
164
|
*/
|
|
152
165
|
getTranslations(locale_1) {
|
|
153
166
|
return __awaiter(this, arguments, void 0, function* (locale, dictionaryName = this.dictionaryName) {
|
|
154
|
-
|
|
167
|
+
if (this._localDictionaryManager) {
|
|
168
|
+
const translations = yield this._localDictionaryManager.getDictionary(locale);
|
|
169
|
+
if (translations)
|
|
170
|
+
return translations;
|
|
171
|
+
}
|
|
172
|
+
if (this._remoteDictionaryManager) {
|
|
173
|
+
const translations = yield this._remoteDictionaryManager.getDictionary(locale, dictionaryName);
|
|
174
|
+
if (translations)
|
|
175
|
+
return translations;
|
|
176
|
+
}
|
|
177
|
+
return null;
|
|
155
178
|
});
|
|
156
179
|
}
|
|
157
180
|
/**
|
|
@@ -159,7 +182,7 @@ class I18NConfiguration {
|
|
|
159
182
|
* @param locale - The user's locale
|
|
160
183
|
* @param key - Key in the dictionary. For strings, the original language version of that string. For React children, a hash.
|
|
161
184
|
* @param dictionaryName - User-defined dictionary name, for distinguishing between multiple translation dictionaries for a single language.
|
|
162
|
-
* @returns A promise that resolves to the a value in the translations
|
|
185
|
+
* @returns A promise that resolves to the a value in the translations.
|
|
163
186
|
*/
|
|
164
187
|
getTranslation(locale_1, key_1) {
|
|
165
188
|
return __awaiter(this, arguments, void 0, function* (locale, key, id = key, dictionaryName = this.dictionaryName) {
|
|
@@ -239,8 +262,8 @@ class I18NConfiguration {
|
|
|
239
262
|
return resolveBatchError(item);
|
|
240
263
|
if (result && typeof result === 'object') {
|
|
241
264
|
item.resolve(result.translation);
|
|
242
|
-
if (result.translation && result.language && result.reference) {
|
|
243
|
-
this.
|
|
265
|
+
if (result.translation && result.language && result.reference && this._remoteDictionaryManager) {
|
|
266
|
+
this._remoteDictionaryManager.setDictionary(result.language, result.reference.dictionaryName, result.reference.key, result.reference.id, result.translation);
|
|
244
267
|
}
|
|
245
268
|
}
|
|
246
269
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"I18NConfiguration.js","sourceRoot":"","sources":["../../src/config/I18NConfiguration.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"I18NConfiguration.js","sourceRoot":"","sources":["../../src/config/I18NConfiguration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LocalDictionaryManager is responsible for managing dictionaries loaded from local file paths.
|
|
3
|
+
* @class
|
|
4
|
+
*/
|
|
5
|
+
export default class LocalDictionaryManager {
|
|
6
|
+
private translations;
|
|
7
|
+
private localeCache;
|
|
8
|
+
private dictionaryMap;
|
|
9
|
+
private fetchPromises;
|
|
10
|
+
/**
|
|
11
|
+
* Creates an instance of LocalDictionaryManager.
|
|
12
|
+
* @param {Object} params - Parameters object.
|
|
13
|
+
* @param {Record<string, () => Promise<Record<string, any>>>} params.translations - A mapping of locale to a function that imports the corresponding dictionary.
|
|
14
|
+
*/
|
|
15
|
+
constructor({ translations }: {
|
|
16
|
+
translations: Record<string, () => Promise<Record<string, any>>>;
|
|
17
|
+
});
|
|
18
|
+
/**
|
|
19
|
+
* Retrieves a dictionary based on locale.
|
|
20
|
+
* @param {string} locale - The locale of the dictionary.
|
|
21
|
+
* @returns {Promise<Record<string, any> | null>} The dictionary data or null if not found.
|
|
22
|
+
*/
|
|
23
|
+
getDictionary(locale: string): Promise<Record<string, any> | null>;
|
|
24
|
+
/**
|
|
25
|
+
* Fetches a dictionary from the translations object using the provided function.
|
|
26
|
+
* @param {string} locale - The locale of the dictionary.
|
|
27
|
+
* @returns {Promise<Record<string, any> | null>} The fetched dictionary data or null if not found.
|
|
28
|
+
*/
|
|
29
|
+
private _fetchDictionary;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=LocalDictionaryManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalDictionaryManager.d.ts","sourceRoot":"","sources":["../../src/config/LocalDictionaryManager.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,sBAAsB;IACvC,OAAO,CAAC,YAAY,CAAqD;IACzE,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,aAAa,CAAmD;IAExE;;;;OAIG;gBACS,EAAE,YAAY,EAAE,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;KAAE;IAOlG;;;;OAIG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IA6CxE;;;;OAIG;YACW,gBAAgB;CAWjC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const generaltranslation_1 = require("generaltranslation");
|
|
13
|
+
/**
|
|
14
|
+
* LocalDictionaryManager is responsible for managing dictionaries loaded from local file paths.
|
|
15
|
+
* @class
|
|
16
|
+
*/
|
|
17
|
+
class LocalDictionaryManager {
|
|
18
|
+
/**
|
|
19
|
+
* Creates an instance of LocalDictionaryManager.
|
|
20
|
+
* @param {Object} params - Parameters object.
|
|
21
|
+
* @param {Record<string, () => Promise<Record<string, any>>>} params.translations - A mapping of locale to a function that imports the corresponding dictionary.
|
|
22
|
+
*/
|
|
23
|
+
constructor({ translations }) {
|
|
24
|
+
this.translations = translations;
|
|
25
|
+
this.localeCache = new Map();
|
|
26
|
+
this.dictionaryMap = new Map();
|
|
27
|
+
this.fetchPromises = new Map();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Retrieves a dictionary based on locale.
|
|
31
|
+
* @param {string} locale - The locale of the dictionary.
|
|
32
|
+
* @returns {Promise<Record<string, any> | null>} The dictionary data or null if not found.
|
|
33
|
+
*/
|
|
34
|
+
getDictionary(locale) {
|
|
35
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
// Check if the dictionary is already cached
|
|
37
|
+
if (this.dictionaryMap.has(locale)) {
|
|
38
|
+
return this.dictionaryMap.get(locale) || null;
|
|
39
|
+
}
|
|
40
|
+
// Check if there is an ongoing fetch for this locale
|
|
41
|
+
if (this.fetchPromises.has(locale)) {
|
|
42
|
+
return (yield this.fetchPromises.get(locale)) || null;
|
|
43
|
+
}
|
|
44
|
+
// Resolve the final locale
|
|
45
|
+
let finalLocale = locale;
|
|
46
|
+
if (!this.translations[finalLocale]) {
|
|
47
|
+
finalLocale = this.localeCache.get(locale) || '';
|
|
48
|
+
if (!finalLocale) {
|
|
49
|
+
for (const key of Object.keys(this.translations)) {
|
|
50
|
+
if ((0, generaltranslation_1.isSameLanguage)(key, locale)) {
|
|
51
|
+
finalLocale = key;
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
this.localeCache.set(locale, finalLocale);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// If no valid finalLocale is found, return null
|
|
59
|
+
if (!finalLocale || !this.translations[finalLocale]) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
// Fetch the dictionary and cache the result
|
|
63
|
+
const fetchPromise = this._fetchDictionary(finalLocale);
|
|
64
|
+
this.fetchPromises.set(locale, fetchPromise);
|
|
65
|
+
const retrievedDictionary = yield fetchPromise;
|
|
66
|
+
this.fetchPromises.delete(locale);
|
|
67
|
+
if (retrievedDictionary) {
|
|
68
|
+
this.dictionaryMap.set(locale, retrievedDictionary);
|
|
69
|
+
}
|
|
70
|
+
return retrievedDictionary;
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Fetches a dictionary from the translations object using the provided function.
|
|
75
|
+
* @param {string} locale - The locale of the dictionary.
|
|
76
|
+
* @returns {Promise<Record<string, any> | null>} The fetched dictionary data or null if not found.
|
|
77
|
+
*/
|
|
78
|
+
_fetchDictionary(locale) {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
try {
|
|
81
|
+
const loadDictionary = this.translations[locale];
|
|
82
|
+
if (!loadDictionary)
|
|
83
|
+
throw new Error(`No translation function for locale: ${locale}`);
|
|
84
|
+
const dictionary = yield loadDictionary();
|
|
85
|
+
return dictionary;
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
console.error(`Error loading dictionary for locale ${locale}:`, error);
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.default = LocalDictionaryManager;
|
|
95
|
+
//# sourceMappingURL=LocalDictionaryManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalDictionaryManager.js","sourceRoot":"","sources":["../../src/config/LocalDictionaryManager.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2DAAoD;AAEpD;;;GAGG;AACH,MAAqB,sBAAsB;IAMvC;;;;OAIG;IACH,YAAY,EAAE,YAAY,EAAwE;QAC9F,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACG,aAAa,CAAC,MAAc;;YAC9B,4CAA4C;YAC5C,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;YAClD,CAAC;YAED,qDAAqD;YACrD,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAA,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAI,IAAI,CAAC;YACxD,CAAC;YAED,2BAA2B;YAC3B,IAAI,WAAW,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjD,IAAI,CAAC,WAAW,EAAE,CAAC;oBACf,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;wBAC/C,IAAI,IAAA,mCAAc,EAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;4BAC9B,WAAW,GAAG,GAAG,CAAC;4BAClB,MAAM;wBACV,CAAC;oBACL,CAAC;oBACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC9C,CAAC;YACL,CAAC;YAED,gDAAgD;YAChD,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClD,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,4CAA4C;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACxD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAE7C,MAAM,mBAAmB,GAAG,MAAM,YAAY,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAElC,IAAI,mBAAmB,EAAE,CAAC;gBACtB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YACxD,CAAC;YAED,OAAO,mBAAmB,CAAC;QAC/B,CAAC;KAAA;IAED;;;;OAIG;IACW,gBAAgB,CAAC,MAAc;;YACzC,IAAI,CAAC;gBACD,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACjD,IAAI,CAAC,cAAc;oBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,EAAE,CAAC,CAAC;gBACtF,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC;gBAC1C,OAAO,UAAU,CAAC;YACtB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,uCAAuC,MAAM,GAAG,EAAE,KAAK,CAAC,CAAC;gBACvE,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;KAAA;CACJ;AApFD,yCAoFC"}
|
|
@@ -2,7 +2,7 @@ type DictionaryManagerParams = {
|
|
|
2
2
|
cacheURL?: string;
|
|
3
3
|
projectID: string;
|
|
4
4
|
};
|
|
5
|
-
export default class
|
|
5
|
+
export default class RemoteDictionaryManager {
|
|
6
6
|
cacheURL: string;
|
|
7
7
|
projectID: string;
|
|
8
8
|
private dictionaryMap;
|
|
@@ -13,4 +13,4 @@ export default class DictionaryManager {
|
|
|
13
13
|
setDictionary(locale: string, dictionaryName: string, key: string, id: string | undefined, translation: any): void;
|
|
14
14
|
}
|
|
15
15
|
export {};
|
|
16
|
-
//# sourceMappingURL=
|
|
16
|
+
//# sourceMappingURL=RemoteDictionaryManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteDictionaryManager.d.ts","sourceRoot":"","sources":["../../src/config/RemoteDictionaryManager.ts"],"names":[],"mappings":"AAIA,KAAK,uBAAuB,GAAG;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,uBAAuB;IAExC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,aAAa,CAAmD;gBAE5D,EACR,QAAkC,EAClC,SAAS,EACZ,EAAE,uBAAuB;IAOpB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAaxE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAsBhG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,YAAM,EAAE,WAAW,EAAE,GAAG;CAMxG"}
|
|
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
const getDictionaryReference = (locale, dictionaryName) => {
|
|
13
13
|
return `${encodeURIComponent(locale)}/${encodeURIComponent(dictionaryName)}`;
|
|
14
14
|
};
|
|
15
|
-
class
|
|
15
|
+
class RemoteDictionaryManager {
|
|
16
16
|
constructor({ cacheURL = "https://cache.gtx.dev", projectID }) {
|
|
17
17
|
this.cacheURL = cacheURL;
|
|
18
18
|
this.projectID = projectID;
|
|
@@ -62,5 +62,5 @@ class DictionaryManager {
|
|
|
62
62
|
this.dictionaryMap.set(reference, Object.assign(Object.assign({}, currentDictionary), { [id]: { k: key, t: translation } }));
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
exports.default =
|
|
66
|
-
//# sourceMappingURL=
|
|
65
|
+
exports.default = RemoteDictionaryManager;
|
|
66
|
+
//# sourceMappingURL=RemoteDictionaryManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteDictionaryManager.js","sourceRoot":"","sources":["../../src/config/RemoteDictionaryManager.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,MAAM,sBAAsB,GAAG,CAAC,MAAc,EAAE,cAAsB,EAAU,EAAE;IAC9E,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC;AACjF,CAAC,CAAA;AAOD,MAAqB,uBAAuB;IAQxC,YAAY,EACR,QAAQ,GAAG,uBAAuB,EAClC,SAAS,EACa;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;IACnC,CAAC;IAEK,gBAAgB,CAAC,SAAiB;;YACpC,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;gBAChF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACrC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtB,OAAO,MAAM,CAAC;gBAClB,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAEK,aAAa,CAAC,MAAc,EAAE,cAAsB;;YACtD,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACjE,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1D,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;YACrD,CAAC;YACD,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpC,OAAO,CAAA,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,KAAI,IAAI,CAAC;YAC3D,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAEhD,MAAM,mBAAmB,GAAG,MAAM,YAAY,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAErC,IAAI,mBAAmB,EAAE,CAAC;gBACtB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,mBAAmB,CAAC;QAC/B,CAAC;KAAA;IAED,kJAAkJ;IAClJ,aAAa,CAAC,MAAc,EAAE,cAAsB,EAAE,GAAW,EAAE,KAAa,GAAG,EAAE,WAAgB;QACjG,IAAI,CAAC,CAAC,MAAM,IAAI,cAAc,IAAI,GAAG,IAAI,WAAW,CAAC;YAAE,OAAO;QAC9D,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACjE,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,kCAAO,iBAAiB,KAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,IAAE,CAAC;IACjG,CAAC;CACJ;AA3DD,0CA2DC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,19 +10,21 @@ import Variables from './types/VariableInterface';
|
|
|
10
10
|
* @param {string} [params.projectID] - Project ID for cloud integration. Default is fetched from environment variable `GT_PROJECT_ID`.
|
|
11
11
|
* @param {string} [params.cacheURL] - URL for caching. Default is "https://cache.gtx.dev".
|
|
12
12
|
* @param {string} [params.baseURL] - Base URL for API requests. Default is "https://prod.gtx.dev".
|
|
13
|
+
* @param {Object} [params.remoteSource] - Boolean which determines whether library interacts with cloud serrvices.
|
|
13
14
|
* @param {string[]} [params.approvedLocales] - List of approved locales. Default is an empty array.
|
|
14
15
|
* @param {string} [params.defaultLocale] - Default locale for the translation. Default is the first locale in `approvedLocales` or 'en'.
|
|
15
16
|
* @param {Function} [params.getLocale] - Function to get the current locale. Default returns the `defaultLocale`.
|
|
16
17
|
* @param {string} [params.renderMethod] - How translations are rendered for the first time. options are "replace", "hang", "subtle". Default is "replace".
|
|
17
18
|
* @param {string} [params.dictionaryName] - Name of the dictionary to use. Default is "default".
|
|
18
|
-
* @param {Object} [params.dictionary] - Dictionary object containing
|
|
19
|
+
* @param {Object} [params.dictionary] - Dictionary object containing default language content.
|
|
20
|
+
* @param {Object} [params.translations] - An object which contains strings which correspond to locales and functions which define translation dictionaries associated with those locales.
|
|
19
21
|
* @param {number} [params.maxConcurrentRequests] - Maximum number of concurrent requests. Default is 2.
|
|
20
22
|
* @param {number} [params.batchInterval] - Interval for batching requests in milliseconds. Default is 1000.
|
|
21
23
|
* @param {Object} [...metadata] - Any additional metadata. Used for experimental variables.
|
|
22
24
|
* @returns {GeneralTranslation} An object containing internationalization and translation functions.
|
|
23
25
|
*/
|
|
24
|
-
export declare function createGT({ apiKey, projectID, cacheURL, baseURL, approvedLocales, defaultLocale, getLocale, renderMethod, // "hang", "subtle"
|
|
25
|
-
dictionaryName, dictionary, maxConcurrentRequests, batchInterval, getMetadata, ...metadata }?: CreateI18NConfigProps): GeneralTranslation;
|
|
26
|
+
export declare function createGT({ apiKey, projectID, cacheURL, baseURL, remoteSource, approvedLocales, defaultLocale, getLocale, renderMethod, // "hang", "subtle"
|
|
27
|
+
dictionaryName, dictionary, translations, maxConcurrentRequests, batchInterval, getMetadata, ...metadata }?: CreateI18NConfigProps): GeneralTranslation;
|
|
26
28
|
/**
|
|
27
29
|
* A lightweight configuration function which defines a set of variable components which can be used in a GT dictionary.
|
|
28
30
|
*
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAOpB,OAAO,qBAAqB,MAAM,uBAAuB,CAAC;AAS1D,OAAO,kBAAkB,MAAM,qCAAqC,CAAC;AACrE,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAElD
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAOpB,OAAO,qBAAqB,MAAM,uBAAuB,CAAC;AAS1D,OAAO,kBAAkB,MAAM,qCAAqC,CAAC;AACrE,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CAAC,EAErB,MAAwC,EACxC,SAA8C,EAC9C,QAAkC,EAClC,OAAgC,EAChC,YAAmB,EAEnB,eAAe,EACf,aAA4C,EAC5C,SAA0C,EAE1C,YAAwB,EAAE,mBAAmB;AAE7C,cAA0B,EAC1B,UAAe,EACf,YAAmB,EAEnB,qBAAyB,EACzB,aAAoB,EAEpB,WAAiC,EACjC,GAAG,QAAQ,EACd,GAAE,qBAeF,GAAG,kBAAkB,CAsDrB;AAGD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAC5B,eAAoB,EACpB,aAA4C,EAC5C,SAA0C,GAC7C,GAAE;IACC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,MAAM,CAAC;CAI3B,GAAG,SAAS,CAeZ"}
|
package/dist/index.js
CHANGED
|
@@ -38,12 +38,14 @@ const createCurrencyVariableComponent_1 = __importDefault(require("./primitives/
|
|
|
38
38
|
* @param {string} [params.projectID] - Project ID for cloud integration. Default is fetched from environment variable `GT_PROJECT_ID`.
|
|
39
39
|
* @param {string} [params.cacheURL] - URL for caching. Default is "https://cache.gtx.dev".
|
|
40
40
|
* @param {string} [params.baseURL] - Base URL for API requests. Default is "https://prod.gtx.dev".
|
|
41
|
+
* @param {Object} [params.remoteSource] - Boolean which determines whether library interacts with cloud serrvices.
|
|
41
42
|
* @param {string[]} [params.approvedLocales] - List of approved locales. Default is an empty array.
|
|
42
43
|
* @param {string} [params.defaultLocale] - Default locale for the translation. Default is the first locale in `approvedLocales` or 'en'.
|
|
43
44
|
* @param {Function} [params.getLocale] - Function to get the current locale. Default returns the `defaultLocale`.
|
|
44
45
|
* @param {string} [params.renderMethod] - How translations are rendered for the first time. options are "replace", "hang", "subtle". Default is "replace".
|
|
45
46
|
* @param {string} [params.dictionaryName] - Name of the dictionary to use. Default is "default".
|
|
46
|
-
* @param {Object} [params.dictionary] - Dictionary object containing
|
|
47
|
+
* @param {Object} [params.dictionary] - Dictionary object containing default language content.
|
|
48
|
+
* @param {Object} [params.translations] - An object which contains strings which correspond to locales and functions which define translation dictionaries associated with those locales.
|
|
47
49
|
* @param {number} [params.maxConcurrentRequests] - Maximum number of concurrent requests. Default is 2.
|
|
48
50
|
* @param {number} [params.batchInterval] - Interval for batching requests in milliseconds. Default is 1000.
|
|
49
51
|
* @param {Object} [...metadata] - Any additional metadata. Used for experimental variables.
|
|
@@ -60,27 +62,29 @@ function createGT(_a = {
|
|
|
60
62
|
renderMethod: "replace",
|
|
61
63
|
dictionaryName: "default",
|
|
62
64
|
dictionary: {},
|
|
65
|
+
translations: null,
|
|
63
66
|
maxConcurrentRequests: 2,
|
|
64
67
|
batchInterval: 1000,
|
|
65
68
|
getMetadata: () => { return {}; }
|
|
66
69
|
}) {
|
|
67
70
|
var {
|
|
68
71
|
// Cloud integration
|
|
69
|
-
apiKey = (0, getDefaultFromEnv_1.default)('GT_API_KEY'), projectID = (0, getDefaultFromEnv_1.default)('GT_PROJECT_ID'), cacheURL = "https://cache.gtx.dev", baseURL = "https://prod.gtx.dev",
|
|
72
|
+
apiKey = (0, getDefaultFromEnv_1.default)('GT_API_KEY'), projectID = (0, getDefaultFromEnv_1.default)('GT_PROJECT_ID'), cacheURL = "https://cache.gtx.dev", baseURL = "https://prod.gtx.dev", remoteSource = true,
|
|
70
73
|
// Locale info
|
|
71
74
|
approvedLocales, defaultLocale = (approvedLocales === null || approvedLocales === void 0 ? void 0 : approvedLocales[0]) || 'en', getLocale = () => { return defaultLocale; },
|
|
72
75
|
// Rendering
|
|
73
76
|
renderMethod = "replace", // "hang", "subtle"
|
|
74
77
|
// Dictionaries
|
|
75
|
-
dictionaryName = "default", dictionary = {},
|
|
78
|
+
dictionaryName = "default", dictionary = {}, translations = null,
|
|
76
79
|
// Batching config
|
|
77
80
|
maxConcurrentRequests = 2, batchInterval = 1000,
|
|
78
81
|
// Other metadata
|
|
79
|
-
getMetadata = () => { return {}; } } = _a, metadata = __rest(_a, ["apiKey", "projectID", "cacheURL", "baseURL", "approvedLocales", "defaultLocale", "getLocale", "renderMethod", "dictionaryName", "dictionary", "maxConcurrentRequests", "batchInterval", "getMetadata"]);
|
|
80
|
-
const I18NConfig = new I18NConfiguration_1.default(Object.assign({ apiKey, projectID, cacheURL, baseURL,
|
|
82
|
+
getMetadata = () => { return {}; } } = _a, metadata = __rest(_a, ["apiKey", "projectID", "cacheURL", "baseURL", "remoteSource", "approvedLocales", "defaultLocale", "getLocale", "renderMethod", "dictionaryName", "dictionary", "translations", "maxConcurrentRequests", "batchInterval", "getMetadata"]);
|
|
83
|
+
const I18NConfig = new I18NConfiguration_1.default(Object.assign({ apiKey, projectID, cacheURL, baseURL, remoteSource,
|
|
81
84
|
getLocale, defaultLocale, approvedLocales,
|
|
82
85
|
renderMethod,
|
|
83
86
|
dictionary, dictionaryName: (0, getDefaultFromEnv_1.default)('GT_DICTIONARY_NAME') || dictionaryName, // override from .env
|
|
87
|
+
translations,
|
|
84
88
|
maxConcurrentRequests, batchInterval,
|
|
85
89
|
getMetadata }, metadata));
|
|
86
90
|
// ----- <I18N> ------ //
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createIntlFunction.d.ts","sourceRoot":"","sources":["../../src/intl/createIntlFunction.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,6BAA6B,CAAA;AAE3D,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACvC,UAAU,EAAE,GAAG,cAAc,EAChC,EAAE;IAAE,UAAU,EAAE,iBAAiB,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,aAEvC,MAAM,YAAW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC9C,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"createIntlFunction.d.ts","sourceRoot":"","sources":["../../src/intl/createIntlFunction.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,6BAA6B,CAAA;AAE3D,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACvC,UAAU,EAAE,GAAG,cAAc,EAChC,EAAE;IAAE,UAAU,EAAE,iBAAiB,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,aAEvC,MAAM,YAAW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC9C,OAAO,CAAC,MAAM,CAAC,CAarB"}
|
|
@@ -30,9 +30,11 @@ function createIntlFunction(_a) {
|
|
|
30
30
|
const translation = yield I18NConfig.getTranslation(options.targetLanguage, content, options.id, options.dictionaryName);
|
|
31
31
|
if (translation)
|
|
32
32
|
return translation;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
if (I18NConfig.hasRemoteSource()) {
|
|
34
|
+
const translationPromise = I18NConfig.intl({ content, targetLanguage: options.targetLanguage, options });
|
|
35
|
+
if (I18NConfig.getRenderMethod() !== "subtle") {
|
|
36
|
+
return yield translationPromise;
|
|
37
|
+
}
|
|
36
38
|
}
|
|
37
39
|
return content;
|
|
38
40
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createIntlFunction.js","sourceRoot":"","sources":["../../src/intl/createIntlFunction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEA,
|
|
1
|
+
{"version":3,"file":"createIntlFunction.js","sourceRoot":"","sources":["../../src/intl/createIntlFunction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEA,qCAkBC;AAlBD,SAAwB,kBAAkB,CAAC,EAEa;QAFb,EACvC,UAAU,OAC0C,EADrC,cAAc,cADU,cAE1C,CADgC;IAE7B,OAAO,uBAEY,EAAE,4DADjB,OAAe,EAAE,4BAAoC,cAAc,CAAE;QAErE,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QAC1E,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC;YAAE,OAAO,OAAO,CAAC;QACvH,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QACzH,IAAI,WAAW;YAAE,OAAO,WAAW,CAAC;QACpC,IAAI,UAAU,CAAC,eAAe,EAAE,EAAE,CAAC;YAC/B,MAAM,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;YACzG,IAAI,UAAU,CAAC,eAAe,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAC5C,OAAO,MAAM,kBAAkB,CAAC;YACpC,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC,CAAA,CAAA;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerI18N.d.ts","sourceRoot":"","sources":["../../src/server/ServerI18N.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAOxC,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAE/D,KAAK,eAAe,GAAG;IACnB,UAAU,EAAE,iBAAiB,CAAA;IAC7B,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB,CAAA;AAED,wBAA8B,UAAU,CAAC,EACrC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,EACzC,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"ServerI18N.d.ts","sourceRoot":"","sources":["../../src/server/ServerI18N.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAOxC,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAE/D,KAAK,eAAe,GAAG;IACnB,UAAU,EAAE,iBAAiB,CAAA;IAC7B,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB,CAAA;AAED,wBAA8B,UAAU,CAAC,EACrC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,EACzC,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAwFtC"}
|
|
@@ -58,6 +58,10 @@ function ServerI18N(_a) {
|
|
|
58
58
|
const I18NChildren = (0, renderChildren_js_1.default)({ source: taggedChildren, target: translation, renderAttributes, locale, defaultLocale });
|
|
59
59
|
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: I18NChildren }));
|
|
60
60
|
}
|
|
61
|
+
// Check if a new translation for this site can be created
|
|
62
|
+
if (!I18NConfig.hasRemoteSource()) {
|
|
63
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children }));
|
|
64
|
+
}
|
|
61
65
|
// Create a new translation for this site and render it
|
|
62
66
|
const I18NChildrenPromise = I18NConfig.translateChildren({ children: childrenAsObjects, targetLanguage: locale, metadata: Object.assign({}, props) });
|
|
63
67
|
const renderMethod = (props === null || props === void 0 ? void 0 : props.renderMethod) || I18NConfig.getRenderMethod();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerI18N.js","sourceRoot":"","sources":["../../src/server/ServerI18N.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,
|
|
1
|
+
{"version":3,"file":"ServerI18N.js","sourceRoot":"","sources":["../../src/server/ServerI18N.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,6 @@ interface I18NResolverProps {
|
|
|
3
3
|
children: ReactNode | Promise<ReactNode>;
|
|
4
4
|
fallback: ReactNode;
|
|
5
5
|
}
|
|
6
|
-
/**
|
|
7
|
-
* I18NResolver component handles the rendering of children which may be a promise.
|
|
8
|
-
* If the promise resolves, the children are rendered inside a Suspense component.
|
|
9
|
-
* If the promise fails, the fallback is rendered permanently.
|
|
10
|
-
*
|
|
11
|
-
* @param {I18NResolverProps} props - The properties for the component.
|
|
12
|
-
* @returns {JSX.Element} - The rendered component.
|
|
13
|
-
*/
|
|
14
6
|
export default function I18NResolver({ children, fallback }: I18NResolverProps): JSX.Element;
|
|
15
7
|
export {};
|
|
16
8
|
//# sourceMappingURL=I18NResolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"I18NResolver.d.ts","sourceRoot":"","sources":["../../../src/server/resolvers/I18NResolver.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"I18NResolver.d.ts","sourceRoot":"","sources":["../../../src/server/resolvers/I18NResolver.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AAG9D,UAAU,iBAAiB;IACvB,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAmD3F"}
|