@arc-js/intl 0.0.91 → 0.0.93
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/core/TranslationService.js +49 -31
- package/core/TranslationService.min.js +1 -1
- package/hooks/useTranslation.jsx +3 -3
- package/hooks/useTranslation.tsx +3 -4
- package/package.json +1 -1
- package/providers/IntlProvider.jsx +30 -26
- package/providers/IntlProvider.tsx +33 -28
- package/utils/loaders.js +20 -3
- package/utils/loaders.min.js +1 -1
|
@@ -913,54 +913,46 @@ requireCooks();
|
|
|
913
913
|
const DEFAULT_LOCALE = 'en';
|
|
914
914
|
const SUPPORTED_LOCALES = ['en', 'fr'];
|
|
915
915
|
|
|
916
|
-
const mergeDeep = (target, source) => {
|
|
917
|
-
if (typeof target !== 'object' || typeof source !== 'object')
|
|
918
|
-
return source;
|
|
919
|
-
const output = Object.assign({}, target);
|
|
920
|
-
for (const key in source) {
|
|
921
|
-
if (source.hasOwnProperty(key)) {
|
|
922
|
-
if (target.hasOwnProperty(key)) {
|
|
923
|
-
output[key] = mergeDeep(target[key], source[key]);
|
|
924
|
-
}
|
|
925
|
-
else {
|
|
926
|
-
output[key] = source[key];
|
|
927
|
-
}
|
|
928
|
-
}
|
|
929
|
-
}
|
|
930
|
-
return output;
|
|
931
|
-
};
|
|
932
|
-
|
|
933
916
|
let translationsConfig = null;
|
|
934
917
|
const loadBaseTranslations = (locale) => __awaiter(void 0, void 0, void 0, function* () {
|
|
935
918
|
try {
|
|
919
|
+
console.log('Loading base translations for locale:', locale);
|
|
920
|
+
console.log('Config available:', !!translationsConfig);
|
|
921
|
+
console.log('Base translations available:', (translationsConfig === null || translationsConfig === void 0 ? void 0 : translationsConfig.base) ? Object.keys(translationsConfig.base) : 'none');
|
|
936
922
|
if (!(translationsConfig === null || translationsConfig === void 0 ? void 0 : translationsConfig.base[locale])) {
|
|
937
923
|
console.warn(`No base translations found for locale: ${locale}`);
|
|
924
|
+
console.warn('Available locales:', (translationsConfig === null || translationsConfig === void 0 ? void 0 : translationsConfig.base) ? Object.keys(translationsConfig.base) : 'none');
|
|
938
925
|
return {};
|
|
939
926
|
}
|
|
940
927
|
const loader = translationsConfig.base[locale];
|
|
941
|
-
|
|
928
|
+
const result = yield loader();
|
|
929
|
+
console.log('Base translations loaded for', locale, ':', Object.keys(result));
|
|
930
|
+
return result;
|
|
942
931
|
}
|
|
943
932
|
catch (error) {
|
|
944
933
|
console.error(`Failed to load base ${locale} translations`, error);
|
|
945
934
|
return {};
|
|
946
935
|
}
|
|
947
936
|
});
|
|
948
|
-
const loadModulesTranslations = (locale) => __awaiter(void 0, void 0, void 0, function* () {
|
|
949
|
-
const results = [];
|
|
950
|
-
{
|
|
951
|
-
console.warn(`No modules configuration found for locale "${locale}"`);
|
|
952
|
-
return results;
|
|
953
|
-
}
|
|
954
|
-
});
|
|
955
937
|
const loadModuleTranslations = (moduleName, locale) => __awaiter(void 0, void 0, void 0, function* () {
|
|
956
|
-
var _a, _b;
|
|
957
|
-
|
|
938
|
+
var _a, _b, _c, _d, _e, _f;
|
|
939
|
+
console.log('Loading module translations:', { moduleName, locale });
|
|
940
|
+
console.log('Config modules:', 'none');
|
|
941
|
+
console.log('Module exists:', ((_a = void 0 ) === null || _a === void 0 ? void 0 : _a[moduleName]) ? 'yes' : 'no');
|
|
942
|
+
console.log('Locale exists in module:', ((_c = (_b = void 0 ) === null || _b === void 0 ? void 0 : _b[moduleName]) === null || _c === void 0 ? void 0 : _c[locale]) ? 'yes' : 'no');
|
|
943
|
+
if (!((_e = (_d = void 0 ) === null || _d === void 0 ? void 0 : _d[moduleName]) === null || _e === void 0 ? void 0 : _e[locale])) {
|
|
958
944
|
console.warn(`No translations config found for module "${moduleName}" and locale "${locale}"`);
|
|
945
|
+
console.warn('Available modules:', 'none');
|
|
946
|
+
if ((_f = void 0 ) === null || _f === void 0 ? void 0 : _f[moduleName]) {
|
|
947
|
+
console.warn(`Available locales for ${moduleName}:`, Object.keys(translationsConfig.modules[moduleName]));
|
|
948
|
+
}
|
|
959
949
|
return undefined;
|
|
960
950
|
}
|
|
961
951
|
try {
|
|
962
952
|
const loader = translationsConfig.modules[moduleName][locale];
|
|
953
|
+
console.log('Loader found, loading...');
|
|
963
954
|
const translations = yield loader();
|
|
955
|
+
console.log(`Module ${moduleName} translations loaded for ${locale}:`, Object.keys(translations));
|
|
964
956
|
return {
|
|
965
957
|
moduleName,
|
|
966
958
|
translations
|
|
@@ -1008,34 +1000,60 @@ class TranslationService {
|
|
|
1008
1000
|
}
|
|
1009
1001
|
loadLocale(locale) {
|
|
1010
1002
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1003
|
+
console.log(`=== LOADING LOCALE: ${locale} ===`);
|
|
1011
1004
|
if (!this.supportedLocales.includes(locale)) {
|
|
1005
|
+
console.warn(`Locale ${locale} is not supported`);
|
|
1012
1006
|
return;
|
|
1013
1007
|
}
|
|
1008
|
+
console.log('Loading base translations...');
|
|
1014
1009
|
const base = yield loadBaseTranslations(locale);
|
|
1015
|
-
|
|
1016
|
-
this.resources[locale] =
|
|
1017
|
-
|
|
1018
|
-
}
|
|
1010
|
+
console.log('Base translations loaded:', Object.keys(base));
|
|
1011
|
+
this.resources[locale] = {
|
|
1012
|
+
core: base
|
|
1013
|
+
};
|
|
1014
|
+
console.log(`Initial resources for ${locale}:`, Object.keys(this.resources[locale]));
|
|
1015
|
+
console.log('Loading existing modules for this locale...');
|
|
1016
|
+
for (const moduleName of this.loadedModules) {
|
|
1017
|
+
console.log(`Loading module ${moduleName} for locale ${locale}...`);
|
|
1018
|
+
const moduleData = yield loadModuleTranslations(moduleName, locale);
|
|
1019
|
+
if (moduleData === null || moduleData === void 0 ? void 0 : moduleData.translations) {
|
|
1020
|
+
this.resources[locale][moduleName] = moduleData.translations;
|
|
1021
|
+
console.log(`Module ${moduleName} added to ${locale} resources`);
|
|
1022
|
+
}
|
|
1023
|
+
else {
|
|
1024
|
+
console.warn(`No translations found for module ${moduleName} in locale ${locale}`);
|
|
1025
|
+
}
|
|
1026
|
+
}
|
|
1027
|
+
console.log(`=== LOCALE ${locale} LOADED ===`);
|
|
1028
|
+
console.log('Final resources:', this.resources[locale] ? Object.keys(this.resources[locale]) : 'none');
|
|
1019
1029
|
});
|
|
1020
1030
|
}
|
|
1021
1031
|
loadModule(moduleName) {
|
|
1022
1032
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1033
|
+
console.log(`=== LOADING MODULE: ${moduleName} ===`);
|
|
1034
|
+
console.log(`Already loaded modules:`, Array.from(this.loadedModules));
|
|
1023
1035
|
if (this.loadedModules.has(moduleName)) {
|
|
1036
|
+
console.log(`Module ${moduleName} already loaded`);
|
|
1024
1037
|
return;
|
|
1025
1038
|
}
|
|
1026
1039
|
for (const locale of this.supportedLocales) {
|
|
1040
|
+
console.log(`Loading module ${moduleName} for locale ${locale}...`);
|
|
1027
1041
|
const moduleData = yield loadModuleTranslations(moduleName, locale);
|
|
1028
1042
|
if (moduleData === null || moduleData === void 0 ? void 0 : moduleData.translations) {
|
|
1043
|
+
console.log(`Found translations for ${moduleName} in ${locale}`);
|
|
1029
1044
|
if (!this.resources[locale]) {
|
|
1045
|
+
console.log(`Creating empty resources for locale ${locale}`);
|
|
1030
1046
|
this.resources[locale] = { core: {} };
|
|
1031
1047
|
}
|
|
1032
1048
|
this.resources[locale][moduleName] = moduleData.translations;
|
|
1049
|
+
console.log(`Resources for ${locale}:`, Object.keys(this.resources[locale]));
|
|
1033
1050
|
}
|
|
1034
1051
|
else {
|
|
1035
1052
|
console.warn(`No translations found for module ${moduleName} in locale ${locale}`);
|
|
1036
1053
|
}
|
|
1037
1054
|
}
|
|
1038
1055
|
this.loadedModules.add(moduleName);
|
|
1056
|
+
console.log(`=== MODULE ${moduleName} LOADED ===`);
|
|
1039
1057
|
});
|
|
1040
1058
|
}
|
|
1041
1059
|
t(key, params = {}, options = {}) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function __awaiter(e,t,n,o){return new(n=n||Promise)(function(a,t){function i(e){try{s(o.next(e))}catch(e){t(e)}}function r(e){try{s(o.throw(e))}catch(e){t(e)}}function s(e){var t;e.done?a(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(i,r)}s((o=o.apply(e,[])).next())})}var hasRequiredTimez,hasRequiredCooks,cooks={},timez={};function requireTimez(){if(!hasRequiredTimez){hasRequiredTimez=1,Object.defineProperty(timez,"__esModule",{value:!0});class m{constructor(e,t=!1){!1===this.dateChecker(e)?this._date=void 0:e instanceof m&&e&&null!=e&&e._date?this._date=new Date(null==e?void 0:e._date):e instanceof Date?this._date=new Date(e):"string"==typeof e?this._date=m.parseString(e,t):"number"==typeof e?this._date=new Date(e):null==e||"number"==typeof e&&isNaN(e)?this._date=new Date:this._date=void 0}static now(){return new m}static parse(e,t){return"string"==typeof t&&0<t.length&&(e instanceof m&&e&&null!=e&&e._date||e instanceof Date||"string"==typeof e||"number"==typeof e||null==e||"number"==typeof e&&isNaN(e))&&m.parseWithFormat(e,t)||new m(e)}static unix(e){return new m(1e3*e)}static utc(){var e=new Date;return new m(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()))}year(){var e;return null==(e=this._date)?void 0:e.getFullYear()}month(){return this._date?this._date.getMonth()+1:void 0}date(){var e;return null==(e=this._date)?void 0:e.getDate()}hour(){var e;return null==(e=this._date)?void 0:e.getHours()}minute(){var e;return null==(e=this._date)?void 0:e.getMinutes()}second(){var e;return null==(e=this._date)?void 0:e.getSeconds()}millisecond(){var e;return null==(e=this._date)?void 0:e.getMilliseconds()}day(){var e;return null==(e=this._date)?void 0:e.getDay()}add(e,t){if(!this._date)return new m(void 0);var a=new Date(this._date);switch(t){case"years":a.setFullYear(a.getFullYear()+e);break;case"months":a.setMonth(a.getMonth()+e);break;case"days":a.setDate(a.getDate()+e);break;case"hours":a.setHours(a.getHours()+e);break;case"minutes":a.setMinutes(a.getMinutes()+e);break;case"seconds":a.setSeconds(a.getSeconds()+e);break;case"milliseconds":a.setMilliseconds(a.getMilliseconds()+e)}return new m(a)}subtract(e,t){return this.add(-e,t)}startOf(e){if(!this._date)return new m(void 0);var t=new Date(this._date);switch(e){case"year":t.setMonth(0,1),t.setHours(0,0,0,0);break;case"month":t.setDate(1),t.setHours(0,0,0,0);break;case"day":t.setHours(0,0,0,0);break;case"hour":t.setMinutes(0,0,0);break;case"minute":t.setSeconds(0,0);break;case"second":t.setMilliseconds(0)}return new m(t)}endOf(e){var t=this.startOf(e);switch(e){case"year":return t.add(1,"years").subtract(1,"milliseconds");case"month":return t.add(1,"months").subtract(1,"milliseconds");case"day":return t.add(1,"days").subtract(1,"milliseconds");case"hour":return t.add(1,"hours").subtract(1,"milliseconds");case"minute":return t.add(1,"minutes").subtract(1,"milliseconds");case"second":return t.add(1,"seconds").subtract(1,"milliseconds");default:return t}}isBefore(e,t="()"){t="]"===t[1],e=e instanceof m?e:new m(e);return!(!this._date||!e._date)&&(!t&&this._date<e._date||!!t&&this._date<=e._date)}isAfter(e,t="()"){t="["===t[0],e=e instanceof m?e:new m(e);return!(!this._date||!e._date)&&(!t&&this._date>e._date||!!t&&this._date>=e._date)}isSame(e,t){var a,e=e instanceof m?e:new m(e);return!t&&this._date&&e._date?this._date.getTime()===e._date.getTime():(a=t?this.startOf(t):void 0,e=t?e.startOf(t):void 0,!!(a&&null!=a&&a._date&&e&&null!=e&&e._date)&&a._date.getTime()===e._date.getTime())}isBetween(e,t,a="()"){var e=e instanceof m?e:new m(e),t=t instanceof m?t:new m(t),i="["===a[0],a="]"===a[1],i=i&&this.isSame(e)||this.isAfter(e),e=a&&this.isSame(t)||this.isBefore(t);return i&&e}format(e){if(!e)return this.toISOString();var t,a,i=m.PREDEFINED_FORMATS[e];if(i)return this.format(i);let r="",s=0;for(;s<e.length;)"["===e[s]?-1===(a=e.indexOf("]",s))?(r+=e[s],s++):(t=e.substring(s+1,a),r+=t,s=a+1):"%"===e[s]&&s+1<e.length?(t="%"+e[s+1],a=m.FORMAT_TOKENS[t],r+=a?a(this):t,s+=2):(r+=e[s],s++);return r}setTimezone(e){var t;return this._date?(t=this._date.getTimezoneOffset(),e=this.parseTimezoneOffset(e),e=new Date(this._date.getTime()+6e4*(e-t)),new m(e)):new m(void 0)}utc(){return this._date?new m(new Date(Date.UTC(this._date.getUTCFullYear(),this._date.getUTCMonth(),this._date.getUTCDate(),this._date.getUTCHours(),this._date.getUTCMinutes(),this._date.getUTCSeconds(),this._date.getUTCMilliseconds()))):new m(void 0)}local(){return this._date?new m(new Date(this._date.getFullYear(),this._date.getMonth(),this._date.getDate(),this._date.getHours(),this._date.getMinutes(),this._date.getSeconds(),this._date.getMilliseconds())):new m(void 0)}toString(){var e;return null==(e=this._date)?void 0:e.toString()}toISOString(){var e;return null==(e=this._date)?void 0:e.toISOString()}toDate(){return this._date?new Date(this._date):void 0}valueOf(){var e;return null==(e=this._date)?void 0:e.getTime()}unix(){return this._date?Math.floor(this._date.getTime()/1e3):void 0}utcOffset(){return this._date?-this._date.getTimezoneOffset():void 0}isCorrect(){return!!this._date&&!isNaN(this._date.getTime())}timezone(){if(this._date)try{return(new Intl.DateTimeFormat).resolvedOptions().timeZone||void 0}catch(e){return this.timezoneFromOffset()}}timezoneAbbr(){if(this._date)try{var e=new Intl.DateTimeFormat("en",{timeZoneName:"short"}).formatToParts(this._date).find(e=>"timeZoneName"===e.type);return(null==e?void 0:e.value)||void 0}catch(e){return this.timezoneAbbrFromOffset()}}timezoneName(){if(this._date)try{var e=new Intl.DateTimeFormat("en",{timeZoneName:"long"}).formatToParts(this._date).find(e=>"timeZoneName"===e.type);return(null==e?void 0:e.value)||void 0}catch(e){return this.timezoneNameFromOffset()}}timezoneOffsetString(){var e=this.utcOffset();if(void 0!==e)return(0<=e?"+":"-")+Math.floor(Math.abs(e)/60).toString().padStart(2,"0")+":"+(Math.abs(e)%60).toString().padStart(2,"0")}dateChecker(e){return e instanceof m&&!!e&&!(null==e||!e._date)||e instanceof Date||"string"==typeof e||"number"==typeof e||null==e||"number"==typeof e&&isNaN(e)}timezoneFromOffset(){var e=this.utcOffset();if(void 0!==e)return{0:"Etc/UTC",60:"Europe/Paris",120:"Europe/Athens",180:"Europe/Moscow",240:"Asia/Dubai",270:"Asia/Tehran",300:"Asia/Karachi",330:"Asia/Kolkata",345:"Asia/Rangoon",360:"Asia/Dhaka",390:"Asia/Yangon",420:"Asia/Bangkok",480:"Asia/Shanghai",525:"Asia/Kathmandu",540:"Asia/Tokyo",570:"Australia/Adelaide",600:"Australia/Sydney",630:"Australia/Lord_Howe",660:"Pacific/Noumea",675:"Australia/Eucla",720:"Pacific/Auckland",780:"Pacific/Chatham","-60":"Atlantic/Azores","-120":"America/Noronha","-180":"America/Argentina/Buenos_Aires","-210":"America/St_Johns","-240":"America/Halifax","-270":"America/Caracas","-300":"America/New_York","-360":"America/Chicago","-420":"America/Denver","-480":"America/Los_Angeles","-540":"America/Anchorage","-600":"Pacific/Honolulu","-660":"Pacific/Pago_Pago","-720":"Pacific/Kiritimati"}[e]||"Etc/GMT"+(0<=e?"-":"+")+Math.abs(e)/60}timezoneAbbrFromOffset(){var e=this.utcOffset();if(void 0!==e)return{0:"GMT",60:"CET","-300":"EST","-360":"CST","-420":"MST","-480":"PST"}[e]||"GMT"+(0<=e?"+":"")+e/60}timezoneNameFromOffset(){var e=this.utcOffset();if(void 0!==e)return{0:"Greenwich Mean Time",60:"Central European Time","-300":"Eastern Standard Time","-360":"Central Standard Time","-420":"Mountain Standard Time","-480":"Pacific Standard Time"}[e]||"GMT"+(0<=e?"+":"")+e/60}isDST(){if(this._date)try{var e=new Date(this._date.getFullYear(),0,1),t=new Date(this._date.getFullYear(),6,1),a=Math.max(e.getTimezoneOffset(),t.getTimezoneOffset());return this._date.getTimezoneOffset()<a}catch(e){}}static parseString(e,t=!1){var a=new Date(e);if(!isNaN(a.getTime()))return a;var i,r=[/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\.(\d{3})Z$/,/^(\d{4})-(\d{2})-(\d{2})$/,/^(\d{4})\/(\d{2})\/(\d{2}) (\d{2}):(\d{2}):(\d{2})$/,/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/];for(i of r){var s=e.match(i);if(s){s=s.slice(1).map(Number);if(i===r[0])return new Date(Date.UTC(s[0],s[1]-1,s[2],s[3],s[4],s[5],s[6]));if(i===r[1])return new Date(s[0],s[1]-1,s[2]);if(i===r[2])return new Date(s[0],s[1]-1,s[2],s[3],s[4],s[5]);if(i===r[3])return new Date(s[0],s[1]-1,s[2],s[3],s[4],s[5])}}a=new Date(e);if(!isNaN(a.getTime()))return a;if(t)throw new Error("Unable to parse date string: "+e)}static parseWithFormat(e,r){if(e&&r){var s=String(e).trim();if(s){var n={Y:{regex:/\d{4}/,extract:e=>parseInt(e,10)},y:{regex:/\d{2}/,extract:e=>{e=parseInt(e,10);return 70<=e?1900+e:2e3+e}},m:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},d:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},H:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},M:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},S:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},f:{regex:/\d{1,3}/,extract:e=>parseInt(e,10)}},o={year:(new Date).getFullYear(),month:1,day:1,hour:0,minute:0,second:0,millisecond:0};let e=0,t=0,a=!1,i="";for(;t<r.length&&e<s.length;){var d=r[t];if("["===d)a=!0,i="",t++;else if("]"===d&&a){if(s.substring(e,e+i.length)!==i)return;e+=i.length,a=!1,i="",t++}else if(a)i+=d,t++;else if("%"===d&&t+1<r.length){var u=r[t+1],l=n[u];if(l){var c=s.substring(e).match(l.regex);if(!c||0!==c.index)return;var c=c[0],h=l.extract(c);switch(u){case"Y":case"y":o.year=h;break;case"m":o.month=h;break;case"d":o.day=h;break;case"H":o.hour=h;break;case"M":o.minute=h;break;case"S":o.second=h;break;case"f":o.millisecond=h}e+=c.length}else e++;t+=2}else{if(d!==s[e])return;e++,t++}}if(!(o.month<1||12<o.month||o.day<1||31<o.day||o.hour<0||23<o.hour||o.minute<0||59<o.minute||o.second<0||59<o.second||o.millisecond<0||999<o.millisecond))try{var f=new Date(o.year,o.month-1,o.day,o.hour,o.minute,o.second,o.millisecond);if(!isNaN(f.getTime()))return new m(f)}catch(e){}}}}static getTokenLength(e){return{Y:4,y:2,m:2,d:2,H:2,M:2,S:2,f:3,z:5}[e]||1}parseTimezoneOffset(e){var t={UTC:0,EST:-300,EDT:-240,CST:-360,CDT:-300,PST:-480,PDT:-420};return void 0!==t[e.toUpperCase()]?t[e.toUpperCase()]:(t=e.match(/^([+-])(\d{1,2}):?(\d{2})?$/))?("+"===t[1]?1:-1)*(60*parseInt(t[2],10)+(t[3]?parseInt(t[3],10):0)):this._date?-this._date.getTimezoneOffset():0}static get FORMATS(){return Object.assign({},m.PREDEFINED_FORMATS)}static exposeToGlobal(){"undefined"!=typeof window&&(window.Timez=m)}}m.FORMAT_TOKENS={"%Y":e=>null==(e=e.year())?void 0:e.toString().padStart(4,"0"),"%y":e=>null==(e=e.year())?void 0:e.toString().slice(-2).padStart(2,"0"),"%m":e=>null==(e=e.month())?void 0:e.toString().padStart(2,"0"),"%d":e=>null==(e=e.date())?void 0:e.toString().padStart(2,"0"),"%H":e=>null==(e=e.hour())?void 0:e.toString().padStart(2,"0"),"%M":e=>null==(e=e.minute())?void 0:e.toString().padStart(2,"0"),"%S":e=>null==(e=e.second())?void 0:e.toString().padStart(2,"0"),"%f":e=>null==(e=e.millisecond())?void 0:e.toString().padStart(3,"0"),"%z":e=>{e=e.utcOffset();if(e)return(0<=e?"+":"-")+Math.floor(Math.abs(e)/60).toString().padStart(2,"0")+(Math.abs(e)%60).toString().padStart(2,"0")},"%s":e=>{e=e.valueOf();return e?Math.floor(e/1e3).toString():void 0}},m.PREDEFINED_FORMATS={ISO:"%Y-%m-%dT%H:%M:%S.%fZ",ISO_DATE:"%Y-%m-%d",ISO_TIME:"%H:%M:%S.%fZ",COMPACT:"%Y%m%d%H%M%S",SLASH_DATETIME:"%Y/%m/%d %H:%M:%S.%fZ",SLASH_DATETIME_SEC:"%Y/%m/%d %H:%M:%S",SLASH_DATETIME_MIN:"%Y/%m/%d %H:%M",EUROPEAN:"%d/%m/%Y %H:%M:%S GMT%z",SLASH_DATE:"%Y/%m/%d",TIME_MICRO:"%H:%M:%S.%fZ",TIME_SEC:"%H:%M:%S",CUSTOM_GREETING:"[Bonjour celestin, ][la date actuelle est:: le] %d/%m/%Y [à] %H:%M:%S.%f[Z]"},"undefined"!=typeof window&&(window.Timez=m),timez.Timez=m,timez.default=m}return timez}function requireCooks(){if(!hasRequiredCooks){hasRequiredCooks=1,Object.defineProperty(cooks,"__esModule",{value:!0});var r=requireTimez(),e=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];[...e,...e.map(e=>e.toUpperCase())];class t{static set(e,t,a={}){if(this.isBrowser())try{var i=this.serialize(t),r=encodeURIComponent(i),s=this.buildCookieString(e,r,a);document.cookie=s}catch(e){}}static get(e){if(!this.isBrowser())return null;try{var t,a=this.getAllCookies()[e];return a?(t=decodeURIComponent(a),this.deserialize(t)):null}catch(e){return null}}static remove(e,t="/",a){this.isBrowser()&&(t={expires:new Date(0),path:t,domain:a},this.set(e,"",t))}static has(e){return null!==this.get(e)}static keys(){var e;return this.isBrowser()?(e=this.getAllCookies(),Object.keys(e)):[]}static clear(){var e;this.isBrowser()&&(e=this.getAllCookies(),Object.keys(e).forEach(e=>{this.remove(e)}))}static serialize(e){return e instanceof Date?JSON.stringify({__type:"Date",__value:e.toISOString()}):JSON.stringify(e)}static deserialize(e){e=JSON.parse(e);return e&&"object"==typeof e&&"Date"===e.__type?new Date(e.__value):e}static buildCookieString(e,t,a){a=Object.assign(Object.assign({},this.DEFAULT_OPTIONS),a);let i=e+"="+t;if(void 0!==a.expires){let e;e="number"==typeof a.expires?(new r.Timez).add(a.expires,"seconds").toDate()||new Date:a.expires,i+="; expires="+e.toUTCString()}return a.path&&(i+="; path="+a.path),a.domain&&(i+="; domain="+a.domain),a.secure&&(i+="; secure"),a.sameSite&&(i+="; samesite="+a.sameSite),i}static getAllCookies(){return document.cookie.split(";").reduce((e,t)=>{var[t,a]=t.split("=").map(e=>e.trim());return t&&(e[t]=a||""),e},{})}static isBrowser(){return"undefined"!=typeof window&&"undefined"!=typeof document}static exposeToGlobal(){"undefined"!=typeof window&&(window.Cooks=t)}}t.DEFAULT_OPTIONS={path:"/",secure:!0,sameSite:"lax"},"undefined"!=typeof window&&(window.Cooks=t),cooks.Cooks=t,cooks.default=t}return cooks}requireCooks();let DEFAULT_LOCALE="en",SUPPORTED_LOCALES=["en","fr"],mergeDeep=(e,t)=>{if("object"!=typeof e||"object"!=typeof t)return t;var a,i=Object.assign({},e);for(a in t)t.hasOwnProperty(a)&&(e.hasOwnProperty(a)?i[a]=mergeDeep(e[a],t[a]):i[a]=t[a]);return i},translationsConfig=null,loadBaseTranslations=e=>__awaiter(void 0,void 0,void 0,function*(){try{return null!=translationsConfig&&translationsConfig.base[e]?yield(0,translationsConfig.base[e])():{}}catch(e){return{}}}),loadModulesTranslations=e=>__awaiter(void 0,void 0,void 0,function*(){return[]}),loadModuleTranslations=(e,t)=>__awaiter(void 0,void 0,void 0,function*(){});class TranslationService{constructor(e=SUPPORTED_LOCALES){Object.defineProperty(this,"resources",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"currentLocale",{enumerable:!0,configurable:!0,writable:!0,value:DEFAULT_LOCALE}),Object.defineProperty(this,"loadedModules",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"supportedLocales",{enumerable:!0,configurable:!0,writable:!0,value:SUPPORTED_LOCALES}),this.supportedLocales=e}initialize(e){return __awaiter(this,void 0,void 0,function*(){this.currentLocale=e,yield this.loadLocale(e)})}loadLocale(a){return __awaiter(this,void 0,void 0,function*(){var e,t;this.supportedLocales.includes(a)&&(e=yield loadBaseTranslations(a),t=yield loadModulesTranslations(a),this.resources[a]=t.reduce((e,{moduleName:t,translations:a})=>mergeDeep(e,{[t]:a}),{core:e}))})}loadModule(a){return __awaiter(this,void 0,void 0,function*(){if(!this.loadedModules.has(a)){for(var e of this.supportedLocales){var t=yield loadModuleTranslations(a,e);null!=t&&t.translations&&(this.resources[e]||(this.resources[e]={core:{}}),this.resources[e][a]=t.translations)}this.loadedModules.add(a)}})}t(e,t={},a={}){var{moduleName:a="core",defaultValue:i=e,count:r,context:s}=a,e=this.findTranslation(e,a,s,r)||i;return this.interpolate(e,t)}findTranslation(t,a,i,r){var s=this.resources[this.currentLocale];if(s&&s[a]){let e=i?t+"_"+i:t;return void 0!==r&&(e=this.pluralizeKey(e,r)),t.split(".").reduce((e,t)=>e&&void 0!==e[t]?e[t]:void 0,s[a])}}pluralizeKey(e,t){return e+"_"+new Intl.PluralRules(this.currentLocale).select(t)}interpolate(e,t){return Object.entries(t).reduce((e,[t,a])=>e.replace(new RegExp(`\\{${t}\\}`,"g"),String(a)),e)}setLocale(e){this.supportedLocales.includes(e)&&(this.currentLocale=e)}getCurrentLocale(){return this.currentLocale}}export{TranslationService};
|
|
1
|
+
function __awaiter(e,t,n,o){return new(n=n||Promise)(function(a,t){function i(e){try{s(o.next(e))}catch(e){t(e)}}function r(e){try{s(o.throw(e))}catch(e){t(e)}}function s(e){var t;e.done?a(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(i,r)}s((o=o.apply(e,[])).next())})}var hasRequiredTimez,hasRequiredCooks,cooks={},timez={};function requireTimez(){if(!hasRequiredTimez){hasRequiredTimez=1,Object.defineProperty(timez,"__esModule",{value:!0});class m{constructor(e,t=!1){!1===this.dateChecker(e)?this._date=void 0:e instanceof m&&e&&null!=e&&e._date?this._date=new Date(null==e?void 0:e._date):e instanceof Date?this._date=new Date(e):"string"==typeof e?this._date=m.parseString(e,t):"number"==typeof e?this._date=new Date(e):null==e||"number"==typeof e&&isNaN(e)?this._date=new Date:this._date=void 0}static now(){return new m}static parse(e,t){return"string"==typeof t&&0<t.length&&(e instanceof m&&e&&null!=e&&e._date||e instanceof Date||"string"==typeof e||"number"==typeof e||null==e||"number"==typeof e&&isNaN(e))&&m.parseWithFormat(e,t)||new m(e)}static unix(e){return new m(1e3*e)}static utc(){var e=new Date;return new m(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()))}year(){var e;return null==(e=this._date)?void 0:e.getFullYear()}month(){return this._date?this._date.getMonth()+1:void 0}date(){var e;return null==(e=this._date)?void 0:e.getDate()}hour(){var e;return null==(e=this._date)?void 0:e.getHours()}minute(){var e;return null==(e=this._date)?void 0:e.getMinutes()}second(){var e;return null==(e=this._date)?void 0:e.getSeconds()}millisecond(){var e;return null==(e=this._date)?void 0:e.getMilliseconds()}day(){var e;return null==(e=this._date)?void 0:e.getDay()}add(e,t){if(!this._date)return new m(void 0);var a=new Date(this._date);switch(t){case"years":a.setFullYear(a.getFullYear()+e);break;case"months":a.setMonth(a.getMonth()+e);break;case"days":a.setDate(a.getDate()+e);break;case"hours":a.setHours(a.getHours()+e);break;case"minutes":a.setMinutes(a.getMinutes()+e);break;case"seconds":a.setSeconds(a.getSeconds()+e);break;case"milliseconds":a.setMilliseconds(a.getMilliseconds()+e)}return new m(a)}subtract(e,t){return this.add(-e,t)}startOf(e){if(!this._date)return new m(void 0);var t=new Date(this._date);switch(e){case"year":t.setMonth(0,1),t.setHours(0,0,0,0);break;case"month":t.setDate(1),t.setHours(0,0,0,0);break;case"day":t.setHours(0,0,0,0);break;case"hour":t.setMinutes(0,0,0);break;case"minute":t.setSeconds(0,0);break;case"second":t.setMilliseconds(0)}return new m(t)}endOf(e){var t=this.startOf(e);switch(e){case"year":return t.add(1,"years").subtract(1,"milliseconds");case"month":return t.add(1,"months").subtract(1,"milliseconds");case"day":return t.add(1,"days").subtract(1,"milliseconds");case"hour":return t.add(1,"hours").subtract(1,"milliseconds");case"minute":return t.add(1,"minutes").subtract(1,"milliseconds");case"second":return t.add(1,"seconds").subtract(1,"milliseconds");default:return t}}isBefore(e,t="()"){t="]"===t[1],e=e instanceof m?e:new m(e);return!(!this._date||!e._date)&&(!t&&this._date<e._date||!!t&&this._date<=e._date)}isAfter(e,t="()"){t="["===t[0],e=e instanceof m?e:new m(e);return!(!this._date||!e._date)&&(!t&&this._date>e._date||!!t&&this._date>=e._date)}isSame(e,t){var a,e=e instanceof m?e:new m(e);return!t&&this._date&&e._date?this._date.getTime()===e._date.getTime():(a=t?this.startOf(t):void 0,e=t?e.startOf(t):void 0,!!(a&&null!=a&&a._date&&e&&null!=e&&e._date)&&a._date.getTime()===e._date.getTime())}isBetween(e,t,a="()"){var e=e instanceof m?e:new m(e),t=t instanceof m?t:new m(t),i="["===a[0],a="]"===a[1],i=i&&this.isSame(e)||this.isAfter(e),e=a&&this.isSame(t)||this.isBefore(t);return i&&e}format(e){if(!e)return this.toISOString();var t,a,i=m.PREDEFINED_FORMATS[e];if(i)return this.format(i);let r="",s=0;for(;s<e.length;)"["===e[s]?-1===(a=e.indexOf("]",s))?(r+=e[s],s++):(t=e.substring(s+1,a),r+=t,s=a+1):"%"===e[s]&&s+1<e.length?(t="%"+e[s+1],a=m.FORMAT_TOKENS[t],r+=a?a(this):t,s+=2):(r+=e[s],s++);return r}setTimezone(e){var t;return this._date?(t=this._date.getTimezoneOffset(),e=this.parseTimezoneOffset(e),e=new Date(this._date.getTime()+6e4*(e-t)),new m(e)):new m(void 0)}utc(){return this._date?new m(new Date(Date.UTC(this._date.getUTCFullYear(),this._date.getUTCMonth(),this._date.getUTCDate(),this._date.getUTCHours(),this._date.getUTCMinutes(),this._date.getUTCSeconds(),this._date.getUTCMilliseconds()))):new m(void 0)}local(){return this._date?new m(new Date(this._date.getFullYear(),this._date.getMonth(),this._date.getDate(),this._date.getHours(),this._date.getMinutes(),this._date.getSeconds(),this._date.getMilliseconds())):new m(void 0)}toString(){var e;return null==(e=this._date)?void 0:e.toString()}toISOString(){var e;return null==(e=this._date)?void 0:e.toISOString()}toDate(){return this._date?new Date(this._date):void 0}valueOf(){var e;return null==(e=this._date)?void 0:e.getTime()}unix(){return this._date?Math.floor(this._date.getTime()/1e3):void 0}utcOffset(){return this._date?-this._date.getTimezoneOffset():void 0}isCorrect(){return!!this._date&&!isNaN(this._date.getTime())}timezone(){if(this._date)try{return(new Intl.DateTimeFormat).resolvedOptions().timeZone||void 0}catch(e){return this.timezoneFromOffset()}}timezoneAbbr(){if(this._date)try{var e=new Intl.DateTimeFormat("en",{timeZoneName:"short"}).formatToParts(this._date).find(e=>"timeZoneName"===e.type);return(null==e?void 0:e.value)||void 0}catch(e){return this.timezoneAbbrFromOffset()}}timezoneName(){if(this._date)try{var e=new Intl.DateTimeFormat("en",{timeZoneName:"long"}).formatToParts(this._date).find(e=>"timeZoneName"===e.type);return(null==e?void 0:e.value)||void 0}catch(e){return this.timezoneNameFromOffset()}}timezoneOffsetString(){var e=this.utcOffset();if(void 0!==e)return(0<=e?"+":"-")+Math.floor(Math.abs(e)/60).toString().padStart(2,"0")+":"+(Math.abs(e)%60).toString().padStart(2,"0")}dateChecker(e){return e instanceof m&&!!e&&!(null==e||!e._date)||e instanceof Date||"string"==typeof e||"number"==typeof e||null==e||"number"==typeof e&&isNaN(e)}timezoneFromOffset(){var e=this.utcOffset();if(void 0!==e)return{0:"Etc/UTC",60:"Europe/Paris",120:"Europe/Athens",180:"Europe/Moscow",240:"Asia/Dubai",270:"Asia/Tehran",300:"Asia/Karachi",330:"Asia/Kolkata",345:"Asia/Rangoon",360:"Asia/Dhaka",390:"Asia/Yangon",420:"Asia/Bangkok",480:"Asia/Shanghai",525:"Asia/Kathmandu",540:"Asia/Tokyo",570:"Australia/Adelaide",600:"Australia/Sydney",630:"Australia/Lord_Howe",660:"Pacific/Noumea",675:"Australia/Eucla",720:"Pacific/Auckland",780:"Pacific/Chatham","-60":"Atlantic/Azores","-120":"America/Noronha","-180":"America/Argentina/Buenos_Aires","-210":"America/St_Johns","-240":"America/Halifax","-270":"America/Caracas","-300":"America/New_York","-360":"America/Chicago","-420":"America/Denver","-480":"America/Los_Angeles","-540":"America/Anchorage","-600":"Pacific/Honolulu","-660":"Pacific/Pago_Pago","-720":"Pacific/Kiritimati"}[e]||"Etc/GMT"+(0<=e?"-":"+")+Math.abs(e)/60}timezoneAbbrFromOffset(){var e=this.utcOffset();if(void 0!==e)return{0:"GMT",60:"CET","-300":"EST","-360":"CST","-420":"MST","-480":"PST"}[e]||"GMT"+(0<=e?"+":"")+e/60}timezoneNameFromOffset(){var e=this.utcOffset();if(void 0!==e)return{0:"Greenwich Mean Time",60:"Central European Time","-300":"Eastern Standard Time","-360":"Central Standard Time","-420":"Mountain Standard Time","-480":"Pacific Standard Time"}[e]||"GMT"+(0<=e?"+":"")+e/60}isDST(){if(this._date)try{var e=new Date(this._date.getFullYear(),0,1),t=new Date(this._date.getFullYear(),6,1),a=Math.max(e.getTimezoneOffset(),t.getTimezoneOffset());return this._date.getTimezoneOffset()<a}catch(e){}}static parseString(e,t=!1){var a=new Date(e);if(!isNaN(a.getTime()))return a;var i,r=[/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\.(\d{3})Z$/,/^(\d{4})-(\d{2})-(\d{2})$/,/^(\d{4})\/(\d{2})\/(\d{2}) (\d{2}):(\d{2}):(\d{2})$/,/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/];for(i of r){var s=e.match(i);if(s){s=s.slice(1).map(Number);if(i===r[0])return new Date(Date.UTC(s[0],s[1]-1,s[2],s[3],s[4],s[5],s[6]));if(i===r[1])return new Date(s[0],s[1]-1,s[2]);if(i===r[2])return new Date(s[0],s[1]-1,s[2],s[3],s[4],s[5]);if(i===r[3])return new Date(s[0],s[1]-1,s[2],s[3],s[4],s[5])}}a=new Date(e);if(!isNaN(a.getTime()))return a;if(t)throw new Error("Unable to parse date string: "+e)}static parseWithFormat(e,r){if(e&&r){var s=String(e).trim();if(s){var n={Y:{regex:/\d{4}/,extract:e=>parseInt(e,10)},y:{regex:/\d{2}/,extract:e=>{e=parseInt(e,10);return 70<=e?1900+e:2e3+e}},m:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},d:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},H:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},M:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},S:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},f:{regex:/\d{1,3}/,extract:e=>parseInt(e,10)}},o={year:(new Date).getFullYear(),month:1,day:1,hour:0,minute:0,second:0,millisecond:0};let e=0,t=0,a=!1,i="";for(;t<r.length&&e<s.length;){var d=r[t];if("["===d)a=!0,i="",t++;else if("]"===d&&a){if(s.substring(e,e+i.length)!==i)return;e+=i.length,a=!1,i="",t++}else if(a)i+=d,t++;else if("%"===d&&t+1<r.length){var u=r[t+1],l=n[u];if(l){var c=s.substring(e).match(l.regex);if(!c||0!==c.index)return;var c=c[0],h=l.extract(c);switch(u){case"Y":case"y":o.year=h;break;case"m":o.month=h;break;case"d":o.day=h;break;case"H":o.hour=h;break;case"M":o.minute=h;break;case"S":o.second=h;break;case"f":o.millisecond=h}e+=c.length}else e++;t+=2}else{if(d!==s[e])return;e++,t++}}if(!(o.month<1||12<o.month||o.day<1||31<o.day||o.hour<0||23<o.hour||o.minute<0||59<o.minute||o.second<0||59<o.second||o.millisecond<0||999<o.millisecond))try{var f=new Date(o.year,o.month-1,o.day,o.hour,o.minute,o.second,o.millisecond);if(!isNaN(f.getTime()))return new m(f)}catch(e){}}}}static getTokenLength(e){return{Y:4,y:2,m:2,d:2,H:2,M:2,S:2,f:3,z:5}[e]||1}parseTimezoneOffset(e){var t={UTC:0,EST:-300,EDT:-240,CST:-360,CDT:-300,PST:-480,PDT:-420};return void 0!==t[e.toUpperCase()]?t[e.toUpperCase()]:(t=e.match(/^([+-])(\d{1,2}):?(\d{2})?$/))?("+"===t[1]?1:-1)*(60*parseInt(t[2],10)+(t[3]?parseInt(t[3],10):0)):this._date?-this._date.getTimezoneOffset():0}static get FORMATS(){return Object.assign({},m.PREDEFINED_FORMATS)}static exposeToGlobal(){"undefined"!=typeof window&&(window.Timez=m)}}m.FORMAT_TOKENS={"%Y":e=>null==(e=e.year())?void 0:e.toString().padStart(4,"0"),"%y":e=>null==(e=e.year())?void 0:e.toString().slice(-2).padStart(2,"0"),"%m":e=>null==(e=e.month())?void 0:e.toString().padStart(2,"0"),"%d":e=>null==(e=e.date())?void 0:e.toString().padStart(2,"0"),"%H":e=>null==(e=e.hour())?void 0:e.toString().padStart(2,"0"),"%M":e=>null==(e=e.minute())?void 0:e.toString().padStart(2,"0"),"%S":e=>null==(e=e.second())?void 0:e.toString().padStart(2,"0"),"%f":e=>null==(e=e.millisecond())?void 0:e.toString().padStart(3,"0"),"%z":e=>{e=e.utcOffset();if(e)return(0<=e?"+":"-")+Math.floor(Math.abs(e)/60).toString().padStart(2,"0")+(Math.abs(e)%60).toString().padStart(2,"0")},"%s":e=>{e=e.valueOf();return e?Math.floor(e/1e3).toString():void 0}},m.PREDEFINED_FORMATS={ISO:"%Y-%m-%dT%H:%M:%S.%fZ",ISO_DATE:"%Y-%m-%d",ISO_TIME:"%H:%M:%S.%fZ",COMPACT:"%Y%m%d%H%M%S",SLASH_DATETIME:"%Y/%m/%d %H:%M:%S.%fZ",SLASH_DATETIME_SEC:"%Y/%m/%d %H:%M:%S",SLASH_DATETIME_MIN:"%Y/%m/%d %H:%M",EUROPEAN:"%d/%m/%Y %H:%M:%S GMT%z",SLASH_DATE:"%Y/%m/%d",TIME_MICRO:"%H:%M:%S.%fZ",TIME_SEC:"%H:%M:%S",CUSTOM_GREETING:"[Bonjour celestin, ][la date actuelle est:: le] %d/%m/%Y [à] %H:%M:%S.%f[Z]"},"undefined"!=typeof window&&(window.Timez=m),timez.Timez=m,timez.default=m}return timez}function requireCooks(){if(!hasRequiredCooks){hasRequiredCooks=1,Object.defineProperty(cooks,"__esModule",{value:!0});var r=requireTimez(),e=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];[...e,...e.map(e=>e.toUpperCase())];class t{static set(e,t,a={}){if(this.isBrowser())try{var i=this.serialize(t),r=encodeURIComponent(i),s=this.buildCookieString(e,r,a);document.cookie=s}catch(e){}}static get(e){if(!this.isBrowser())return null;try{var t,a=this.getAllCookies()[e];return a?(t=decodeURIComponent(a),this.deserialize(t)):null}catch(e){return null}}static remove(e,t="/",a){this.isBrowser()&&(t={expires:new Date(0),path:t,domain:a},this.set(e,"",t))}static has(e){return null!==this.get(e)}static keys(){var e;return this.isBrowser()?(e=this.getAllCookies(),Object.keys(e)):[]}static clear(){var e;this.isBrowser()&&(e=this.getAllCookies(),Object.keys(e).forEach(e=>{this.remove(e)}))}static serialize(e){return e instanceof Date?JSON.stringify({__type:"Date",__value:e.toISOString()}):JSON.stringify(e)}static deserialize(e){e=JSON.parse(e);return e&&"object"==typeof e&&"Date"===e.__type?new Date(e.__value):e}static buildCookieString(e,t,a){a=Object.assign(Object.assign({},this.DEFAULT_OPTIONS),a);let i=e+"="+t;if(void 0!==a.expires){let e;e="number"==typeof a.expires?(new r.Timez).add(a.expires,"seconds").toDate()||new Date:a.expires,i+="; expires="+e.toUTCString()}return a.path&&(i+="; path="+a.path),a.domain&&(i+="; domain="+a.domain),a.secure&&(i+="; secure"),a.sameSite&&(i+="; samesite="+a.sameSite),i}static getAllCookies(){return document.cookie.split(";").reduce((e,t)=>{var[t,a]=t.split("=").map(e=>e.trim());return t&&(e[t]=a||""),e},{})}static isBrowser(){return"undefined"!=typeof window&&"undefined"!=typeof document}static exposeToGlobal(){"undefined"!=typeof window&&(window.Cooks=t)}}t.DEFAULT_OPTIONS={path:"/",secure:!0,sameSite:"lax"},"undefined"!=typeof window&&(window.Cooks=t),cooks.Cooks=t,cooks.default=t}return cooks}requireCooks();let DEFAULT_LOCALE="en",SUPPORTED_LOCALES=["en","fr"],translationsConfig=null,loadBaseTranslations=e=>__awaiter(void 0,void 0,void 0,function*(){try{return null!=translationsConfig&&translationsConfig.base[e]?yield(0,translationsConfig.base[e])():{}}catch(e){return{}}}),loadModuleTranslations=(e,t)=>__awaiter(void 0,void 0,void 0,function*(){});class TranslationService{constructor(e=SUPPORTED_LOCALES){Object.defineProperty(this,"resources",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"currentLocale",{enumerable:!0,configurable:!0,writable:!0,value:DEFAULT_LOCALE}),Object.defineProperty(this,"loadedModules",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"supportedLocales",{enumerable:!0,configurable:!0,writable:!0,value:SUPPORTED_LOCALES}),this.supportedLocales=e}initialize(e){return __awaiter(this,void 0,void 0,function*(){this.currentLocale=e,yield this.loadLocale(e)})}loadLocale(i){return __awaiter(this,void 0,void 0,function*(){if(this.supportedLocales.includes(i)){var e,t=yield loadBaseTranslations(i);this.resources[i]={core:t};for(e of this.loadedModules){var a=yield loadModuleTranslations(e,i);null!=a&&a.translations&&(this.resources[i][e]=a.translations)}}})}loadModule(a){return __awaiter(this,void 0,void 0,function*(){if(!this.loadedModules.has(a)){for(var e of this.supportedLocales){var t=yield loadModuleTranslations(a,e);null!=t&&t.translations&&(this.resources[e]||(this.resources[e]={core:{}}),this.resources[e][a]=t.translations)}this.loadedModules.add(a)}})}t(e,t={},a={}){var{moduleName:a="core",defaultValue:i=e,count:r,context:s}=a,e=this.findTranslation(e,a,s,r)||i;return this.interpolate(e,t)}findTranslation(t,a,i,r){var s=this.resources[this.currentLocale];if(s&&s[a]){let e=i?t+"_"+i:t;return void 0!==r&&(e=this.pluralizeKey(e,r)),t.split(".").reduce((e,t)=>e&&void 0!==e[t]?e[t]:void 0,s[a])}}pluralizeKey(e,t){return e+"_"+new Intl.PluralRules(this.currentLocale).select(t)}interpolate(e,t){return Object.entries(t).reduce((e,[t,a])=>e.replace(new RegExp(`\\{${t}\\}`,"g"),String(a)),e)}setLocale(e){this.supportedLocales.includes(e)&&(this.currentLocale=e)}getCurrentLocale(){return this.currentLocale}}export{TranslationService};
|
|
2
2
|
//# sourceMappingURL=TranslationService.min.js.map
|
package/hooks/useTranslation.jsx
CHANGED
|
@@ -6,7 +6,7 @@ export function useTranslation(moduleName) {
|
|
|
6
6
|
const [isModuleLoading, setIsModuleLoading] = useState(false);
|
|
7
7
|
const [moduleLoaded, setModuleLoaded] = useState(!moduleName);
|
|
8
8
|
const t = useCallback((key, params, options) => {
|
|
9
|
-
if (moduleName && !moduleLoaded
|
|
9
|
+
if (moduleName && !moduleLoaded) {
|
|
10
10
|
console.warn(`Module ${moduleName} not loaded yet, using default value`);
|
|
11
11
|
return options?.defaultValue || key;
|
|
12
12
|
}
|
|
@@ -17,7 +17,7 @@ export function useTranslation(moduleName) {
|
|
|
17
17
|
return arcIntl.t(key, params || {}, finalOptions);
|
|
18
18
|
}, [arcIntl, moduleName, moduleLoaded]);
|
|
19
19
|
useEffect(() => {
|
|
20
|
-
if (moduleName && !moduleLoaded) {
|
|
20
|
+
if (moduleName && !moduleLoaded && !arcIntl.isLoading) {
|
|
21
21
|
setIsModuleLoading(true);
|
|
22
22
|
arcIntl.loadModuleTranslations(moduleName).then(() => {
|
|
23
23
|
setModuleLoaded(true);
|
|
@@ -27,7 +27,7 @@ export function useTranslation(moduleName) {
|
|
|
27
27
|
setIsModuleLoading(false);
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
|
-
}, [moduleName, moduleLoaded, arcIntl]);
|
|
30
|
+
}, [moduleName, moduleLoaded, arcIntl, arcIntl.isLoading]);
|
|
31
31
|
return {
|
|
32
32
|
t,
|
|
33
33
|
changeLocale: arcIntl.changeLocale,
|
package/hooks/useTranslation.tsx
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { useEffect, useState, useCallback } from 'react';
|
|
2
2
|
import { useArcIntl } from '../providers/IntlProvider';
|
|
3
3
|
|
|
4
|
-
|
|
5
4
|
export function useTranslation(moduleName?: string) {
|
|
6
5
|
const arcIntl = useArcIntl();
|
|
7
6
|
const [isModuleLoading, setIsModuleLoading] = useState(false);
|
|
8
7
|
const [moduleLoaded, setModuleLoaded] = useState(!moduleName);
|
|
9
8
|
|
|
10
9
|
const t = useCallback((key: string, params?: Record<string, any>, options?: any) => {
|
|
11
|
-
if (moduleName && !moduleLoaded
|
|
10
|
+
if (moduleName && !moduleLoaded) {
|
|
12
11
|
console.warn(`Module ${moduleName} not loaded yet, using default value`);
|
|
13
12
|
return options?.defaultValue || key;
|
|
14
13
|
}
|
|
@@ -22,7 +21,7 @@ export function useTranslation(moduleName?: string) {
|
|
|
22
21
|
}, [arcIntl, moduleName, moduleLoaded]);
|
|
23
22
|
|
|
24
23
|
useEffect(() => {
|
|
25
|
-
if (moduleName && !moduleLoaded) {
|
|
24
|
+
if (moduleName && !moduleLoaded && !arcIntl.isLoading) {
|
|
26
25
|
setIsModuleLoading(true);
|
|
27
26
|
arcIntl.loadModuleTranslations(moduleName)
|
|
28
27
|
.then(() => {
|
|
@@ -35,7 +34,7 @@ export function useTranslation(moduleName?: string) {
|
|
|
35
34
|
setIsModuleLoading(false);
|
|
36
35
|
});
|
|
37
36
|
}
|
|
38
|
-
}, [moduleName, moduleLoaded, arcIntl]);
|
|
37
|
+
}, [moduleName, moduleLoaded, arcIntl, arcIntl.isLoading]);
|
|
39
38
|
|
|
40
39
|
return {
|
|
41
40
|
t,
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.0.
|
|
6
|
+
"version": "0.0.93",
|
|
7
7
|
"description": "INTL est un système de gestion d'internationalisation (i18n) modulaire et performant pour les applications React avec TypeScript/JavaScript. Il fournit une gestion avancée des traductions, un chargement dynamique des modules, et une intégration transparente avec l'écosystème Arc.",
|
|
8
8
|
"main": "index.js",
|
|
9
9
|
"keywords": [],
|
|
@@ -9,30 +9,17 @@ const useArcIntlValue = (translationsConfig, supportedLocales = SUPPORTED_LOCALE
|
|
|
9
9
|
const [currentLocale, setCurrentLocale] = useState(getSavedLocale(supportedLocales));
|
|
10
10
|
const [isLoading, setIsLoading] = useState(true);
|
|
11
11
|
const [loadedModules, setLoadedModules] = useState(new Set());
|
|
12
|
+
const [initialized, setInitialized] = useState(false);
|
|
12
13
|
useEffect(() => {
|
|
13
14
|
setTranslationsConfig(translationsConfig);
|
|
14
|
-
}, [translationsConfig])
|
|
15
|
-
|
|
16
|
-
const loadAllModules = async () => {
|
|
17
|
-
if (translationsConfig.modules) {
|
|
18
|
-
const moduleNames = Object.keys(translationsConfig.modules);
|
|
19
|
-
for (const moduleName of moduleNames) {
|
|
20
|
-
try {
|
|
21
|
-
await service.loadModule(moduleName);
|
|
22
|
-
setLoadedModules(prev => new Set(prev).add(moduleName));
|
|
23
|
-
} catch (error) {
|
|
24
|
-
console.error(`Failed to load module ${moduleName}:`, error);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
loadAllModules();
|
|
30
|
-
}, [translationsConfig.modules, service]);
|
|
15
|
+
}, [translationsConfig])
|
|
16
|
+
|
|
31
17
|
useEffect(() => {
|
|
32
18
|
const initialize = async () => {
|
|
33
19
|
setIsLoading(true);
|
|
34
20
|
try {
|
|
35
21
|
await service.initialize(currentLocale);
|
|
22
|
+
setInitialized(true);
|
|
36
23
|
} catch (error) {
|
|
37
24
|
console.error('Failed to initialize translations:', error);
|
|
38
25
|
} finally {
|
|
@@ -40,7 +27,23 @@ const useArcIntlValue = (translationsConfig, supportedLocales = SUPPORTED_LOCALE
|
|
|
40
27
|
}
|
|
41
28
|
};
|
|
42
29
|
initialize();
|
|
43
|
-
}, [currentLocale, service])
|
|
30
|
+
}, [currentLocale, service])
|
|
31
|
+
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (!initialized || !translationsConfig.modules) return;
|
|
34
|
+
const loadAllModules = async () => {
|
|
35
|
+
const moduleNames = Object.keys(translationsConfig.modules || {});
|
|
36
|
+
for (const moduleName of moduleNames) {
|
|
37
|
+
try {
|
|
38
|
+
await service.loadModule(moduleName);
|
|
39
|
+
setLoadedModules(prev => new Set(prev).add(moduleName));
|
|
40
|
+
} catch (error) {
|
|
41
|
+
console.error(`Failed to load module ${moduleName}:`, error);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
loadAllModules();
|
|
46
|
+
}, [initialized, translationsConfig.modules, service]);
|
|
44
47
|
const changeLocale = useCallback(async locale => {
|
|
45
48
|
if (!supportedLocales.includes(locale)) {
|
|
46
49
|
console.warn(`Locale ${locale} is not supported`);
|
|
@@ -49,23 +52,28 @@ const useArcIntlValue = (translationsConfig, supportedLocales = SUPPORTED_LOCALE
|
|
|
49
52
|
if (locale === currentLocale) return;
|
|
50
53
|
setIsLoading(true);
|
|
51
54
|
try {
|
|
55
|
+
await service.initialize(locale);
|
|
52
56
|
setCurrentLocale(locale);
|
|
53
57
|
saveLocale(locale);
|
|
54
58
|
} catch (error) {
|
|
55
59
|
console.error('Failed to change locale:', error);
|
|
60
|
+
} finally {
|
|
56
61
|
setIsLoading(false);
|
|
57
62
|
}
|
|
58
|
-
}, [currentLocale, supportedLocales]);
|
|
63
|
+
}, [currentLocale, supportedLocales, service]);
|
|
59
64
|
const loadModuleTranslations = useCallback(async moduleName => {
|
|
65
|
+
if (loadedModules.has(moduleName)) return;
|
|
60
66
|
setIsLoading(true);
|
|
61
67
|
try {
|
|
62
68
|
await service.loadModule(moduleName);
|
|
69
|
+
setLoadedModules(prev => new Set(prev).add(moduleName));
|
|
63
70
|
} catch (error) {
|
|
64
71
|
console.error(`Failed to load module ${moduleName}:`, error);
|
|
72
|
+
throw error;
|
|
65
73
|
} finally {
|
|
66
74
|
setIsLoading(false);
|
|
67
75
|
}
|
|
68
|
-
}, [service]);
|
|
76
|
+
}, [service, loadedModules]);
|
|
69
77
|
const t = useCallback((key, params, options) => {
|
|
70
78
|
return service.t(key, params || {}, options || {});
|
|
71
79
|
}, [service]);
|
|
@@ -74,7 +82,8 @@ const useArcIntlValue = (translationsConfig, supportedLocales = SUPPORTED_LOCALE
|
|
|
74
82
|
changeLocale,
|
|
75
83
|
currentLocale,
|
|
76
84
|
isLoading,
|
|
77
|
-
loadModuleTranslations
|
|
85
|
+
loadModuleTranslations,
|
|
86
|
+
loadedModules: Array.from(loadedModules)
|
|
78
87
|
};
|
|
79
88
|
};
|
|
80
89
|
export const ArcIntlProvider = ({
|
|
@@ -91,9 +100,4 @@ export const useArcIntl = () => {
|
|
|
91
100
|
const context = useContext(ArcIntlContext);
|
|
92
101
|
if (!context) throw new Error('useArcIntl must be used within an ArcIntlProvider');
|
|
93
102
|
return context;
|
|
94
|
-
};
|
|
95
|
-
export default {
|
|
96
|
-
useArcIntlValue,
|
|
97
|
-
ArcIntlProvider,
|
|
98
|
-
useArcIntl
|
|
99
103
|
};
|
|
@@ -14,35 +14,19 @@ const useArcIntlValue = (
|
|
|
14
14
|
const [currentLocale, setCurrentLocale] = useState<Locale>(getSavedLocale(supportedLocales));
|
|
15
15
|
const [isLoading, setIsLoading] = useState(true);
|
|
16
16
|
const [loadedModules, setLoadedModules] = useState<Set<string>>(new Set());
|
|
17
|
+
const [initialized, setInitialized] = useState(false);
|
|
17
18
|
|
|
18
19
|
useEffect(() => {
|
|
19
20
|
setTranslationsConfig(translationsConfig);
|
|
20
21
|
}, [translationsConfig]);
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
const loadAllModules = async () => {
|
|
24
|
-
if (translationsConfig.modules) {
|
|
25
|
-
const moduleNames = Object.keys(translationsConfig.modules);
|
|
26
|
-
|
|
27
|
-
for (const moduleName of moduleNames) {
|
|
28
|
-
try {
|
|
29
|
-
await service.loadModule(moduleName);
|
|
30
|
-
setLoadedModules(prev => new Set(prev).add(moduleName));
|
|
31
|
-
} catch (error) {
|
|
32
|
-
console.error(`Failed to load module ${moduleName}:`, error);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
loadAllModules();
|
|
39
|
-
}, [translationsConfig.modules, service]);
|
|
40
|
-
|
|
23
|
+
|
|
41
24
|
useEffect(() => {
|
|
42
25
|
const initialize = async () => {
|
|
43
26
|
setIsLoading(true);
|
|
44
27
|
try {
|
|
45
28
|
await service.initialize(currentLocale);
|
|
29
|
+
setInitialized(true);
|
|
46
30
|
} catch (error) {
|
|
47
31
|
console.error('Failed to initialize translations:', error);
|
|
48
32
|
} finally {
|
|
@@ -52,6 +36,26 @@ const useArcIntlValue = (
|
|
|
52
36
|
initialize();
|
|
53
37
|
}, [currentLocale, service]);
|
|
54
38
|
|
|
39
|
+
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
if (!initialized || !translationsConfig.modules) return;
|
|
42
|
+
|
|
43
|
+
const loadAllModules = async () => {
|
|
44
|
+
const moduleNames = Object.keys(translationsConfig.modules || {});
|
|
45
|
+
|
|
46
|
+
for (const moduleName of moduleNames) {
|
|
47
|
+
try {
|
|
48
|
+
await service.loadModule(moduleName);
|
|
49
|
+
setLoadedModules(prev => new Set(prev).add(moduleName));
|
|
50
|
+
} catch (error) {
|
|
51
|
+
console.error(`Failed to load module ${moduleName}:`, error);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
loadAllModules();
|
|
57
|
+
}, [initialized, translationsConfig.modules, service]);
|
|
58
|
+
|
|
55
59
|
const changeLocale = useCallback(async (locale: Locale) => {
|
|
56
60
|
if (!supportedLocales.includes(locale)) {
|
|
57
61
|
console.warn(`Locale ${locale} is not supported`);
|
|
@@ -62,24 +66,30 @@ const useArcIntlValue = (
|
|
|
62
66
|
|
|
63
67
|
setIsLoading(true);
|
|
64
68
|
try {
|
|
69
|
+
await service.initialize(locale);
|
|
65
70
|
setCurrentLocale(locale);
|
|
66
71
|
saveLocale(locale);
|
|
67
72
|
} catch (error) {
|
|
68
73
|
console.error('Failed to change locale:', error);
|
|
74
|
+
} finally {
|
|
69
75
|
setIsLoading(false);
|
|
70
76
|
}
|
|
71
|
-
}, [currentLocale, supportedLocales]);
|
|
77
|
+
}, [currentLocale, supportedLocales, service]);
|
|
72
78
|
|
|
73
79
|
const loadModuleTranslations = useCallback(async (moduleName: string) => {
|
|
80
|
+
if (loadedModules.has(moduleName)) return;
|
|
81
|
+
|
|
74
82
|
setIsLoading(true);
|
|
75
83
|
try {
|
|
76
84
|
await service.loadModule(moduleName);
|
|
85
|
+
setLoadedModules(prev => new Set(prev).add(moduleName));
|
|
77
86
|
} catch (error) {
|
|
78
87
|
console.error(`Failed to load module ${moduleName}:`, error);
|
|
88
|
+
throw error;
|
|
79
89
|
} finally {
|
|
80
90
|
setIsLoading(false);
|
|
81
91
|
}
|
|
82
|
-
}, [service]);
|
|
92
|
+
}, [service, loadedModules]);
|
|
83
93
|
|
|
84
94
|
const t = useCallback((key: string, params?: Record<string, any>, options?: any) => {
|
|
85
95
|
return service.t(key, params || {}, options || {});
|
|
@@ -91,6 +101,7 @@ const useArcIntlValue = (
|
|
|
91
101
|
currentLocale,
|
|
92
102
|
isLoading,
|
|
93
103
|
loadModuleTranslations,
|
|
104
|
+
loadedModules: Array.from(loadedModules),
|
|
94
105
|
};
|
|
95
106
|
};
|
|
96
107
|
|
|
@@ -119,10 +130,4 @@ export const useArcIntl = () => {
|
|
|
119
130
|
const context = useContext(ArcIntlContext);
|
|
120
131
|
if (!context) throw new Error('useArcIntl must be used within an ArcIntlProvider');
|
|
121
132
|
return context;
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
export default {
|
|
125
|
-
useArcIntlValue,
|
|
126
|
-
ArcIntlProvider,
|
|
127
|
-
useArcIntl,
|
|
128
|
-
}
|
|
133
|
+
};
|
package/utils/loaders.js
CHANGED
|
@@ -19,16 +19,23 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
19
19
|
|
|
20
20
|
let translationsConfig = null;
|
|
21
21
|
const setTranslationsConfig = (config) => {
|
|
22
|
+
console.log('Setting translations config:', Object.keys(config.base), Object.keys(config.modules || {}));
|
|
22
23
|
translationsConfig = config;
|
|
23
24
|
};
|
|
24
25
|
const loadBaseTranslations = (locale) => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
26
|
try {
|
|
27
|
+
console.log('Loading base translations for locale:', locale);
|
|
28
|
+
console.log('Config available:', !!translationsConfig);
|
|
29
|
+
console.log('Base translations available:', (translationsConfig === null || translationsConfig === void 0 ? void 0 : translationsConfig.base) ? Object.keys(translationsConfig.base) : 'none');
|
|
26
30
|
if (!(translationsConfig === null || translationsConfig === void 0 ? void 0 : translationsConfig.base[locale])) {
|
|
27
31
|
console.warn(`No base translations found for locale: ${locale}`);
|
|
32
|
+
console.warn('Available locales:', (translationsConfig === null || translationsConfig === void 0 ? void 0 : translationsConfig.base) ? Object.keys(translationsConfig.base) : 'none');
|
|
28
33
|
return {};
|
|
29
34
|
}
|
|
30
35
|
const loader = translationsConfig.base[locale];
|
|
31
|
-
|
|
36
|
+
const result = yield loader();
|
|
37
|
+
console.log('Base translations loaded for', locale, ':', Object.keys(result));
|
|
38
|
+
return result;
|
|
32
39
|
}
|
|
33
40
|
catch (error) {
|
|
34
41
|
console.error(`Failed to load base ${locale} translations`, error);
|
|
@@ -62,14 +69,24 @@ const loadModulesTranslations = (locale) => __awaiter(void 0, void 0, void 0, fu
|
|
|
62
69
|
return results;
|
|
63
70
|
});
|
|
64
71
|
const loadModuleTranslations = (moduleName, locale) => __awaiter(void 0, void 0, void 0, function* () {
|
|
65
|
-
var _a, _b;
|
|
66
|
-
|
|
72
|
+
var _a, _b, _c, _d, _e, _f;
|
|
73
|
+
console.log('Loading module translations:', { moduleName, locale });
|
|
74
|
+
console.log('Config modules:', (translationsConfig === null || translationsConfig === void 0 ? void 0 : translationsConfig.modules) ? Object.keys(translationsConfig.modules) : 'none');
|
|
75
|
+
console.log('Module exists:', ((_a = translationsConfig === null || translationsConfig === void 0 ? void 0 : translationsConfig.modules) === null || _a === void 0 ? void 0 : _a[moduleName]) ? 'yes' : 'no');
|
|
76
|
+
console.log('Locale exists in module:', ((_c = (_b = translationsConfig === null || translationsConfig === void 0 ? void 0 : translationsConfig.modules) === null || _b === void 0 ? void 0 : _b[moduleName]) === null || _c === void 0 ? void 0 : _c[locale]) ? 'yes' : 'no');
|
|
77
|
+
if (!((_e = (_d = translationsConfig === null || translationsConfig === void 0 ? void 0 : translationsConfig.modules) === null || _d === void 0 ? void 0 : _d[moduleName]) === null || _e === void 0 ? void 0 : _e[locale])) {
|
|
67
78
|
console.warn(`No translations config found for module "${moduleName}" and locale "${locale}"`);
|
|
79
|
+
console.warn('Available modules:', (translationsConfig === null || translationsConfig === void 0 ? void 0 : translationsConfig.modules) ? Object.keys(translationsConfig.modules) : 'none');
|
|
80
|
+
if ((_f = translationsConfig === null || translationsConfig === void 0 ? void 0 : translationsConfig.modules) === null || _f === void 0 ? void 0 : _f[moduleName]) {
|
|
81
|
+
console.warn(`Available locales for ${moduleName}:`, Object.keys(translationsConfig.modules[moduleName]));
|
|
82
|
+
}
|
|
68
83
|
return undefined;
|
|
69
84
|
}
|
|
70
85
|
try {
|
|
71
86
|
const loader = translationsConfig.modules[moduleName][locale];
|
|
87
|
+
console.log('Loader found, loading...');
|
|
72
88
|
const translations = yield loader();
|
|
89
|
+
console.log(`Module ${moduleName} translations loaded for ${locale}:`, Object.keys(translations));
|
|
73
90
|
return {
|
|
74
91
|
moduleName,
|
|
75
92
|
translations
|
package/utils/loaders.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function __awaiter(n,
|
|
1
|
+
function __awaiter(n,o,s,r){return new(s=s||Promise)(function(a,o){function t(n){try{l(r.next(n))}catch(n){o(n)}}function i(n){try{l(r.throw(n))}catch(n){o(n)}}function l(n){var o;n.done?a(n.value):((o=n.value)instanceof s?o:new s(function(n){n(o)})).then(t,i)}l((r=r.apply(n,[])).next())})}let translationsConfig=null,setTranslationsConfig=n=>{translationsConfig=n},loadBaseTranslations=n=>__awaiter(void 0,void 0,void 0,function*(){try{return null!=translationsConfig&&translationsConfig.base[n]?yield(0,translationsConfig.base[n])():{}}catch(n){return{}}}),loadModulesTranslations=i=>__awaiter(void 0,void 0,void 0,function*(){var n=[];if(null!=translationsConfig&&translationsConfig.modules)for(var[o,a]of Object.entries(translationsConfig.modules))if(a[i])try{var t=yield(0,a[i])();n.push({moduleName:o,translations:t})}catch(n){}return n}),loadModuleTranslations=(a,t)=>__awaiter(void 0,void 0,void 0,function*(){var n;if(null!=(n=null==(n=null==translationsConfig?void 0:translationsConfig.modules)?void 0:n[a])&&n[t])try{var o=yield(0,translationsConfig.modules[a][t])();return{moduleName:a,translations:o}}catch(n){}else null!=(n=null==translationsConfig?void 0:translationsConfig.modules)&&n[a]});export{loadBaseTranslations,loadModuleTranslations,loadModulesTranslations,setTranslationsConfig};
|
|
2
2
|
//# sourceMappingURL=loaders.min.js.map
|