@tolgee/core 4.0.0 → 4.1.0
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/tolgee.cjs.js +42 -24
- package/dist/tolgee.cjs.js.map +1 -1
- package/dist/tolgee.cjs.min.js +1 -1
- package/dist/tolgee.cjs.min.js.map +1 -1
- package/dist/tolgee.esm.js +1 -1
- package/dist/tolgee.esm.js.map +1 -1
- package/dist/tolgee.umd.js +42 -24
- package/dist/tolgee.umd.js.map +1 -1
- package/dist/tolgee.umd.min.js +1 -1
- package/dist/tolgee.umd.min.js.map +1 -1
- package/lib/Properties.d.ts +1 -0
- package/lib/Properties.js +30 -23
- package/lib/Properties.js.map +1 -1
- package/lib/TolgeeConfig.d.ts +21 -0
- package/lib/TolgeeConfig.js +11 -0
- package/lib/TolgeeConfig.js.map +1 -1
- package/package.json +2 -2
package/dist/tolgee.umd.js
CHANGED
|
@@ -130,40 +130,36 @@
|
|
|
130
130
|
}
|
|
131
131
|
Object.defineProperty(Properties.prototype, "currentLanguage", {
|
|
132
132
|
get: function () {
|
|
133
|
-
var
|
|
134
|
-
if (this.config.forceLanguage) {
|
|
133
|
+
var _a;
|
|
134
|
+
if ((_a = this.config) === null || _a === void 0 ? void 0 : _a.forceLanguage) {
|
|
135
135
|
return this.config.forceLanguage;
|
|
136
136
|
}
|
|
137
|
-
if (
|
|
138
|
-
|
|
137
|
+
if (this._currentLanguage) {
|
|
138
|
+
return this._currentLanguage;
|
|
139
|
+
}
|
|
140
|
+
if (this.config.languageStore) {
|
|
141
|
+
var storedLanguage = this.getStoredLanguage();
|
|
139
142
|
if (storedLanguage) {
|
|
140
|
-
|
|
141
|
-
}
|
|
142
|
-
if (this.config.availableLanguages) {
|
|
143
|
-
var isSavedLanguageAvailable = this.config.availableLanguages.indexOf(result) > -1;
|
|
144
|
-
if (!isSavedLanguageAvailable) {
|
|
145
|
-
result = undefined;
|
|
146
|
-
}
|
|
143
|
+
return storedLanguage;
|
|
147
144
|
}
|
|
148
145
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
this.currentLanguage = result;
|
|
146
|
+
if (this.config.languageDetect) {
|
|
147
|
+
var detectedLanguage = this.getLanguageByNavigator();
|
|
148
|
+
if (detectedLanguage) {
|
|
149
|
+
return detectedLanguage;
|
|
150
|
+
}
|
|
155
151
|
}
|
|
156
|
-
return
|
|
152
|
+
return this.config.defaultLanguage;
|
|
157
153
|
},
|
|
158
154
|
set: function (language) {
|
|
155
|
+
var _a;
|
|
159
156
|
if (!language) {
|
|
160
157
|
throw new Error("Setting invalid language value ".concat(language));
|
|
161
158
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
159
|
+
this._currentLanguage = language;
|
|
160
|
+
if (((_a = this.config) === null || _a === void 0 ? void 0 : _a.languageStore) && typeof localStorage !== 'undefined') {
|
|
161
|
+
localStorage.setItem(CURRENT_LANGUAGE_LOCAL_STORAGE_KEY, language);
|
|
165
162
|
}
|
|
166
|
-
localStorage.setItem(CURRENT_LANGUAGE_LOCAL_STORAGE_KEY, language);
|
|
167
163
|
},
|
|
168
164
|
enumerable: false,
|
|
169
165
|
configurable: true
|
|
@@ -178,6 +174,18 @@
|
|
|
178
174
|
enumerable: false,
|
|
179
175
|
configurable: true
|
|
180
176
|
});
|
|
177
|
+
Properties.prototype.getStoredLanguage = function () {
|
|
178
|
+
if (typeof localStorage !== 'undefined') {
|
|
179
|
+
var storedLanguage = localStorage.getItem(CURRENT_LANGUAGE_LOCAL_STORAGE_KEY);
|
|
180
|
+
if (!this.config.availableLanguages) {
|
|
181
|
+
return storedLanguage;
|
|
182
|
+
}
|
|
183
|
+
var isSavedLanguageAvailable = this.config.availableLanguages.indexOf(storedLanguage) > -1;
|
|
184
|
+
if (isSavedLanguageAvailable) {
|
|
185
|
+
return storedLanguage;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
};
|
|
181
189
|
Properties.prototype.getLanguageByNavigator = function () {
|
|
182
190
|
if (typeof window !== 'undefined' && this.config.availableLanguages) {
|
|
183
191
|
var preferred_1 = window.navigator.language;
|
|
@@ -192,7 +200,6 @@
|
|
|
192
200
|
return twoLetterMatch;
|
|
193
201
|
}
|
|
194
202
|
}
|
|
195
|
-
return this.config.defaultLanguage;
|
|
196
203
|
};
|
|
197
204
|
return Properties;
|
|
198
205
|
}());
|
|
@@ -1636,7 +1643,18 @@
|
|
|
1636
1643
|
function TolgeeConfig(config) {
|
|
1637
1644
|
this.inputPrefix = '%-%tolgee:';
|
|
1638
1645
|
this.inputSuffix = '%-%';
|
|
1646
|
+
/**
|
|
1647
|
+
* Used when auto detection is not available or is turned off
|
|
1648
|
+
*/
|
|
1639
1649
|
this.defaultLanguage = 'en';
|
|
1650
|
+
/**
|
|
1651
|
+
* Store user language in localStorage (default: true)
|
|
1652
|
+
*/
|
|
1653
|
+
this.languageStore = true;
|
|
1654
|
+
/**
|
|
1655
|
+
* Use auto language detection by browser locale (default: true)
|
|
1656
|
+
*/
|
|
1657
|
+
this.languageDetect = true;
|
|
1640
1658
|
this.filesUrlPrefix = 'i18n/';
|
|
1641
1659
|
this.tagAttributes = {
|
|
1642
1660
|
textarea: ['placeholder'],
|
|
@@ -1749,7 +1767,7 @@
|
|
|
1749
1767
|
this.handshake = function () {
|
|
1750
1768
|
var sharedConfiguration = __assign(__assign({}, _this.properties), { config: __assign(__assign({}, _this.properties.config), {
|
|
1751
1769
|
//remove properties, which cannot be sent by window.postMessage
|
|
1752
|
-
staticData: undefined, targetElement: undefined, _targetElement: undefined, ui: undefined }), uiPresent: Boolean(_this.properties.config.ui), uiVersion: "4.
|
|
1770
|
+
staticData: undefined, targetElement: undefined, _targetElement: undefined, ui: undefined }), uiPresent: Boolean(_this.properties.config.ui), uiVersion: "4.1.0" });
|
|
1753
1771
|
var timer = null;
|
|
1754
1772
|
var ping = function () {
|
|
1755
1773
|
_this.messages.send('TOLGEE_READY', sharedConfiguration);
|