underpost 2.7.1 → 2.7.3

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.
Files changed (214) hide show
  1. package/.dockerignore +13 -13
  2. package/.env.development +7 -7
  3. package/.env.production +7 -7
  4. package/.env.test +7 -7
  5. package/.github/workflows/publish.yml +26 -0
  6. package/.github/workflows/test.yml +80 -0
  7. package/.nycrc +9 -9
  8. package/.prettierignore +12 -12
  9. package/.prettierrc +9 -9
  10. package/.vscode/extensions.json +72 -72
  11. package/.vscode/settings.json +100 -99
  12. package/Dockerfile +89 -89
  13. package/LICENSE +21 -21
  14. package/README.md +96 -96
  15. package/bin/db.js +172 -119
  16. package/bin/deploy.js +607 -661
  17. package/bin/file.js +93 -92
  18. package/bin/index.js +76 -53
  19. package/bin/ssl.js +55 -64
  20. package/bin/util.js +182 -182
  21. package/bin/vs.js +35 -35
  22. package/conf.js +251 -249
  23. package/docker-compose.yml +67 -67
  24. package/jsconfig.json +7 -7
  25. package/jsdoc.json +32 -32
  26. package/nodemon.json +6 -6
  27. package/package.json +137 -132
  28. package/prometheus.yml +36 -36
  29. package/setup.sh +24 -24
  30. package/src/api/core/core.controller.js +69 -69
  31. package/src/api/core/core.model.js +11 -11
  32. package/src/api/core/core.router.js +23 -23
  33. package/src/api/core/core.service.js +29 -29
  34. package/src/api/crypto/crypto.controller.js +51 -51
  35. package/src/api/crypto/crypto.model.js +23 -23
  36. package/src/api/crypto/crypto.router.js +20 -20
  37. package/src/api/crypto/crypto.service.js +64 -64
  38. package/src/api/default/default.controller.js +69 -69
  39. package/src/api/default/default.model.js +20 -20
  40. package/src/api/default/default.router.js +23 -23
  41. package/src/api/default/default.service.js +31 -31
  42. package/src/api/file/file.controller.js +53 -51
  43. package/src/api/file/file.model.js +19 -19
  44. package/src/api/file/file.router.js +21 -20
  45. package/src/api/file/file.service.js +76 -70
  46. package/src/api/instance/instance.controller.js +69 -69
  47. package/src/api/instance/instance.model.js +36 -36
  48. package/src/api/instance/instance.router.js +33 -33
  49. package/src/api/instance/instance.service.js +48 -48
  50. package/src/api/test/test.controller.js +59 -59
  51. package/src/api/test/test.model.js +14 -14
  52. package/src/api/test/test.router.js +21 -21
  53. package/src/api/test/test.service.js +35 -35
  54. package/src/api/user/user.build.js +16 -0
  55. package/src/api/user/user.controller.js +70 -70
  56. package/src/api/user/user.model.js +65 -65
  57. package/src/api/user/user.router.js +345 -345
  58. package/src/api/user/user.service.js +479 -479
  59. package/src/api.js +23 -23
  60. package/src/client/Default.index.js +40 -40
  61. package/src/client/components/core/Account.js +290 -290
  62. package/src/client/components/core/AgGrid.js +160 -160
  63. package/src/client/components/core/Auth.js +19 -19
  64. package/src/client/components/core/Badge.js +32 -32
  65. package/src/client/components/core/{BlockChain.js → Blockchain.js} +41 -41
  66. package/src/client/components/core/Blog.js +9 -9
  67. package/src/client/components/core/BtnIcon.js +101 -94
  68. package/src/client/components/core/CalendarCore.js +458 -319
  69. package/src/client/components/core/Chat.js +64 -64
  70. package/src/client/components/core/ColorPalette.js +5267 -5267
  71. package/src/client/components/core/CommonJs.js +735 -732
  72. package/src/client/components/core/Content.js +193 -49
  73. package/src/client/components/core/Css.js +1064 -1027
  74. package/src/client/components/core/CssCore.js +817 -796
  75. package/src/client/components/core/D3Chart.js +44 -44
  76. package/src/client/components/core/Docs.js +229 -229
  77. package/src/client/components/core/DropDown.js +164 -164
  78. package/src/client/components/core/EventsUI.js +46 -54
  79. package/src/client/components/core/FileExplorer.js +699 -624
  80. package/src/client/components/core/FullScreen.js +45 -45
  81. package/src/client/components/core/Input.js +346 -259
  82. package/src/client/components/core/JoyStick.js +77 -77
  83. package/src/client/components/core/Keyboard.js +73 -73
  84. package/src/client/components/core/LoadingAnimation.js +179 -157
  85. package/src/client/components/core/LogIn.js +187 -181
  86. package/src/client/components/core/LogOut.js +58 -52
  87. package/src/client/components/core/Logger.js +26 -26
  88. package/src/client/components/core/Modal.js +1612 -1596
  89. package/src/client/components/core/NotificationManager.js +84 -84
  90. package/src/client/components/core/Panel.js +613 -413
  91. package/src/client/components/core/PanelForm.js +468 -0
  92. package/src/client/components/core/Polyhedron.js +162 -162
  93. package/src/client/components/core/Recover.js +204 -204
  94. package/src/client/components/core/Responsive.js +53 -53
  95. package/src/client/components/core/RichText.js +51 -27
  96. package/src/client/components/core/Router.js +76 -77
  97. package/src/client/components/core/Scroll.js +34 -0
  98. package/src/client/components/core/SignUp.js +125 -125
  99. package/src/client/components/core/SocketIo.js +72 -72
  100. package/src/client/components/core/Stream.js +113 -113
  101. package/src/client/components/core/ToggleSwitch.js +87 -87
  102. package/src/client/components/core/ToolTip.js +26 -26
  103. package/src/client/components/core/Translate.js +437 -408
  104. package/src/client/components/core/Validator.js +100 -100
  105. package/src/client/components/core/VanillaJs.js +460 -457
  106. package/src/client/components/core/Wallet.js +106 -106
  107. package/src/client/components/core/Webhook.js +25 -25
  108. package/src/client/components/core/Worker.js +272 -272
  109. package/src/client/components/default/CommonDefault.js +29 -29
  110. package/src/client/components/default/CssDefault.js +13 -13
  111. package/src/client/components/default/ElementsDefault.js +38 -38
  112. package/src/client/components/default/LogInDefault.js +41 -41
  113. package/src/client/components/default/LogOutDefault.js +28 -28
  114. package/src/client/components/default/MenuDefault.js +389 -389
  115. package/src/client/components/default/RoutesDefault.js +48 -48
  116. package/src/client/components/default/SettingsDefault.js +16 -16
  117. package/src/client/components/default/SignUpDefault.js +9 -9
  118. package/src/client/components/default/SocketIoDefault.js +54 -54
  119. package/src/client/components/default/TranslateDefault.js +7 -7
  120. package/src/client/public/default/assets/mailer/api-user-check.png +0 -0
  121. package/src/client/public/default/assets/mailer/api-user-invalid-token.png +0 -0
  122. package/src/client/public/default/assets/mailer/api-user-recover.png +0 -0
  123. package/src/client/public/default/browserconfig.xml +11 -11
  124. package/src/client/public/default/manifest.webmanifest +68 -68
  125. package/src/client/public/default/plantuml/client-conf.svg +1 -0
  126. package/src/client/public/default/plantuml/client-schema.svg +1 -0
  127. package/src/client/public/default/plantuml/cron-conf.svg +1 -0
  128. package/src/client/public/default/plantuml/cron-schema.svg +1 -0
  129. package/src/client/public/default/plantuml/server-conf.svg +1 -0
  130. package/src/client/public/default/plantuml/server-schema.svg +1 -0
  131. package/src/client/public/default/plantuml/ssr-conf.svg +1 -0
  132. package/src/client/public/default/plantuml/ssr-schema.svg +1 -0
  133. package/src/client/public/default/sitemap +147 -147
  134. package/src/client/public/default/yandex-browser-manifest.json +8 -8
  135. package/src/client/public/doc/sitemap +147 -147
  136. package/src/client/public/test/sitemap +147 -147
  137. package/src/client/services/core/core.service.js +170 -152
  138. package/src/client/services/crypto/crypto.service.js +70 -70
  139. package/src/client/services/default/default.management.js +345 -345
  140. package/src/client/services/default/default.service.js +89 -89
  141. package/src/client/services/file/file.service.js +70 -70
  142. package/src/client/services/instance/instance.management.js +74 -74
  143. package/src/client/services/instance/instance.service.js +89 -89
  144. package/src/client/services/test/test.service.js +70 -70
  145. package/src/client/services/user/user.management.js +50 -50
  146. package/src/client/services/user/user.service.js +89 -89
  147. package/src/client/ssr/Render.js +16 -16
  148. package/src/client/ssr/body-components/CacheControl.js +114 -113
  149. package/src/client/ssr/body-components/DefaultSplashScreen.js +79 -79
  150. package/src/client/ssr/email-components/DefaultRecoverEmail.js +21 -21
  151. package/src/client/ssr/email-components/DefaultVerifyEmail.js +17 -17
  152. package/src/client/ssr/head-components/Css.js +241 -241
  153. package/src/client/ssr/head-components/DefaultScripts.js +3 -3
  154. package/src/client/ssr/head-components/Microdata.js +11 -11
  155. package/src/client/ssr/head-components/Production.js +1 -1
  156. package/src/client/ssr/head-components/PwaDefault.js +59 -59
  157. package/src/client/ssr/head-components/Seo.js +14 -14
  158. package/src/client/sw/default.sw.js +201 -201
  159. package/src/client/sw/template.sw.js +84 -84
  160. package/src/client.build.js +22 -22
  161. package/src/client.dev.js +21 -21
  162. package/src/cron.js +25 -25
  163. package/src/db/DataBaseProvider.js +34 -34
  164. package/src/db/mariadb/MariaDB.js +33 -33
  165. package/src/db/mongo/MongooseDB.js +137 -46
  166. package/src/dns.js +22 -22
  167. package/src/index.js +42 -29
  168. package/src/mailer/EmailRender.js +69 -69
  169. package/src/mailer/MailerProvider.js +96 -96
  170. package/src/proxy.js +22 -22
  171. package/src/runtime/lampp/Lampp.js +115 -44
  172. package/src/runtime/nginx/Nginx.js +3 -3
  173. package/src/runtime/xampp/Xampp.js +49 -49
  174. package/src/server/auth.js +235 -204
  175. package/src/server/backup.js +101 -94
  176. package/src/server/client-build-live.js +72 -72
  177. package/src/server/client-build.js +699 -699
  178. package/src/server/client-dev-server.js +60 -58
  179. package/src/server/client-formatted.js +48 -48
  180. package/src/server/client-icons.js +149 -150
  181. package/src/server/conf.js +860 -611
  182. package/src/server/dns.js +98 -98
  183. package/src/server/downloader.js +42 -42
  184. package/src/server/logger.js +190 -180
  185. package/src/server/network.js +122 -122
  186. package/src/server/peer.js +33 -33
  187. package/src/server/process.js +66 -66
  188. package/src/server/prompt-optimizer.js +28 -28
  189. package/src/server/proxy.js +118 -118
  190. package/src/server/runtime.js +444 -393
  191. package/src/server/ssl.js +120 -107
  192. package/src/server.js +25 -25
  193. package/src/ws/IoInterface.js +45 -45
  194. package/src/ws/IoServer.js +39 -39
  195. package/src/ws/core/channels/core.ws.chat.js +23 -23
  196. package/src/ws/core/channels/core.ws.mailer.js +35 -35
  197. package/src/ws/core/channels/core.ws.stream.js +31 -31
  198. package/src/ws/core/core.ws.connection.js +28 -28
  199. package/src/ws/core/core.ws.emit.js +14 -14
  200. package/src/ws/core/core.ws.server.js +24 -24
  201. package/src/ws/core/management/core.ws.chat.js +8 -8
  202. package/src/ws/core/management/core.ws.mailer.js +16 -16
  203. package/src/ws/core/management/core.ws.stream.js +8 -8
  204. package/src/ws/default/channels/default.ws.main.js +16 -16
  205. package/src/ws/default/default.ws.connection.js +22 -22
  206. package/src/ws/default/default.ws.emit.js +14 -14
  207. package/src/ws/default/default.ws.server.js +20 -20
  208. package/src/ws/default/management/default.ws.main.js +8 -8
  209. package/startup.js +11 -11
  210. package/supervisord-openssh-server.conf +4 -4
  211. package/test/api.test.js +60 -60
  212. package/bin/dns.js +0 -1
  213. package/bin/install.js +0 -357
  214. package/bin/shortcut.js +0 -44
@@ -1,408 +1,437 @@
1
- import { newInstance, getId, cap, capFirst } from './CommonJs.js';
2
- import { DropDown } from './DropDown.js';
3
- import { loggerFactory } from './Logger.js';
4
- import { s, htmls } from './VanillaJs.js';
5
-
6
- const logger = loggerFactory(import.meta);
7
-
8
- const textFormatted = (str = '&nbsp &nbsp . . .') => capFirst(str.toLowerCase());
9
-
10
- const Translate = {
11
- Data: {},
12
- Token: {},
13
- Event: {},
14
- Parse: function (lang) {
15
- s('html').lang = lang;
16
- Object.keys(this.Token).map((translateHash) => {
17
- if (translateHash in this.Token && lang in this.Token[translateHash]) {
18
- if (!('placeholder' in this.Token[translateHash]) && s(`.${translateHash}`))
19
- htmls(`.${translateHash}`, textFormatted(this.Token[translateHash][lang]));
20
- else if ('placeholder' in this.Token[translateHash] && s(this.Token[translateHash].placeholder))
21
- s(this.Token[translateHash].placeholder).placeholder = textFormatted(this.Token[translateHash][lang]);
22
- }
23
- });
24
- for (const keyEvent of Object.keys(this.Event)) this.Event[keyEvent]();
25
- },
26
- Render: function (keyLang, placeholder) {
27
- if (!(keyLang in this.Data)) {
28
- // TODO: add translate package or library for this case
29
- logger.warn('translate key lang does not exist: ', keyLang);
30
- return textFormatted(keyLang);
31
- }
32
- if (placeholder) this.Data[keyLang].placeholder = placeholder;
33
- keyLang = this.Data[keyLang];
34
- const translateHash = getId(this.Token, 'trans');
35
- this.Token[translateHash] = newInstance(keyLang);
36
- if ('placeholder' in keyLang) {
37
- if (s('html').lang in keyLang) return textFormatted(keyLang[s('html').lang]);
38
- return textFormatted(keyLang['en']);
39
- }
40
- if (s('html').lang in keyLang)
41
- return html`<span class="${translateHash}">${textFormatted(keyLang[s('html').lang])}</span>`;
42
- return html`<span class="${translateHash}">${textFormatted(keyLang['en'])}</span>`;
43
- },
44
- renderLang: function (language) {
45
- localStorage.setItem('lang', language);
46
- this.Parse(language);
47
- if (s(`.action-btn-lang-render`)) htmls(`.action-btn-lang-render`, s('html').lang);
48
- },
49
- RenderSetting: async function () {
50
- return html` <div class="in section-mp">
51
- ${await DropDown.Render({
52
- id: 'settings-lang',
53
- value: s('html').lang ? s('html').lang : 'en',
54
- label: html`${Translate.Render('lang')}`,
55
- data: ['en', 'es'].map((language) => {
56
- return {
57
- display: html`<i class="fa-solid fa-language"></i> ${Translate.Render(language)}`,
58
- value: language,
59
- onClick: () => Translate.renderLang(language),
60
- };
61
- }),
62
- })}
63
- </div>`;
64
- },
65
- };
66
-
67
- const TranslateCore = {
68
- Init: async function () {
69
- if (localStorage.getItem('lang')) s('html').lang = localStorage.getItem('lang');
70
- Translate.Data = {
71
- ...Translate.Data,
72
- isEmpty: {
73
- es: 'Este campo no puede estar vacío',
74
- en: 'This field cannot be empty',
75
- },
76
- isEmail: {
77
- es: 'Por favor, introduce una dirección de correo electrónico válida',
78
- en: 'Please enter a valid email address',
79
- },
80
- isLength: {
81
- es: 'Mínimo 2 caracteres, máximo 20 caracteres',
82
- en: 'Minimum 2 characters, maximum 20 characters',
83
- },
84
- passwordMismatch: {
85
- es: 'Las contraseñas no coinciden',
86
- en: 'Passwords do not match',
87
- },
88
- invalidPhoneNumber: {
89
- es: 'Por favor, introduce un número de teléfono válido',
90
- en: 'Please enter a valid phone number',
91
- },
92
- invalidDate: {
93
- es: 'Por favor, introduce una fecha válida',
94
- en: 'Please enter a valid date',
95
- },
96
- customValidator: {
97
- es: 'Este campo no cumple con los requisitos específicos',
98
- en: 'This field does not meet specific requirements',
99
- },
100
- };
101
- Translate.Data['isMobilePhone'] = {
102
- en: 'Invalid mobile phone number. Please check the format and try again.',
103
- es: 'Número de teléfono móvil no válido. Revisa el formato e intenta nuevamente.',
104
- };
105
- Translate.Data['whatsapp-number'] = {
106
- en: 'Enter your WhatsApp number, including your country code.',
107
- es: 'Número de WhatsApp, recuerda colocar el código de tu país',
108
- };
109
- Translate.Data['color-copy'] = { es: 'color copiado en el portapapeles', en: 'color copied to clipboard' };
110
- Translate.Data['pallet-colors'] = { en: 'pallet colors', es: 'paleta de colores' };
111
- Translate.Data['fullscreen'] = { en: 'Fullscreen', es: 'Pantalla completa' };
112
- Translate.Data['lang'] = { en: 'Language', es: 'Idioma' };
113
- Translate.Data['name'] = { en: 'Name', es: 'Nombre' };
114
- Translate.Data['select'] = { en: 'Select', es: 'Seleccionar' };
115
- Translate.Data['close'] = { en: 'Close', es: 'Cerrar' };
116
- Translate.Data['en'] = { en: 'English', es: 'Ingles' };
117
- Translate.Data['es'] = { en: 'Spanish', es: 'Español' };
118
- Translate.Data['theme'] = { en: 'Theme', es: 'Tema' };
119
- Translate.Data['success-upload-file'] = { en: 'file uploaded successfully', es: 'archivo subido correctamente' };
120
- Translate.Data['error-upload-file'] = { en: 'error uploading file', es: 'error al subir el archivo' };
121
- Translate.Data['generate'] = { en: 'generate', es: 'Generar' };
122
- Translate.Data['download'] = { en: 'download', es: 'Descargar' };
123
- Translate.Data['delete'] = { en: 'delete', es: 'Eliminar' };
124
- Translate.Data['success-delete'] = { en: 'success delete item', es: 'Item eliminado con exito' };
125
- Translate.Data['invalid-data'] = { en: 'Invalid data', es: 'Datos invalidos' };
126
- Translate.Data['upload'] = { en: 'upload', es: 'Subir' };
127
- Translate.Data['load'] = { en: 'load', es: 'Cargar' };
128
- Translate.Data['settings'] = { en: 'settings', es: 'configuraciones' };
129
- Translate.Data['search'] = { en: 'Search', es: 'Buscar' };
130
- Translate.Data['view'] = { en: 'view', es: 'ver' };
131
- Translate.Data['user'] = { en: 'User', es: 'Usuario' };
132
- Translate.Data['pass'] = { en: 'Password', es: 'Contraseña' };
133
- Translate.Data['email'] = { en: 'Email', es: 'Correo Electronico' };
134
- Translate.Data['clear'] = { en: 'Reset', es: 'Limpiar' };
135
- Translate.Data['select-role'] = { en: 'Select Role', es: 'Seleccionar Rol' };
136
- Translate.Data['sign-up'] = { en: 'Sign Up', es: 'Registrarse' };
137
- Translate.Data['log-in'] = { en: 'Log In', es: 'Ingresar' };
138
- Translate.Data['log-out'] = { en: 'Log Out', es: 'Cerrar Sesión' };
139
- Translate.Data['broker'] = { en: 'Broker', es: 'Agente de ventas' };
140
- Translate.Data['owner'] = { en: 'Owner', es: 'Propietario' };
141
- Translate.Data['password'] = { en: 'Password', es: 'Contraseña' };
142
- Translate.Data['repeat'] = { en: 'Repeat', es: 'Repetir' };
143
- Translate.Data['username'] = { en: 'username', es: 'Nombre de usuario' };
144
- Translate.Data['success-register-user'] = {
145
- en: 'user successfully registered',
146
- es: 'Usuario registrado con exito',
147
- };
148
- Translate.Data['no-valid-register'] = { en: 'No valid register', es: 'Registro no válido' };
149
- Translate.Data['success-user'] = { en: 'user/s successfully obtained', es: 'Usuario/s obtenido correctamente' };
150
- Translate.Data['width'] = { en: 'width', es: 'ancho' };
151
- Translate.Data['height'] = { en: 'height', es: 'altura' };
152
- Translate.Data['type'] = { en: 'Type', es: 'Tipo' };
153
- Translate.Data['write'] = { en: 'write', es: 'escribir' };
154
- Translate.Data['send'] = { en: 'Send', es: 'Enviar' };
155
- Translate.Data['success-user-log-in'] = {
156
- en: 'User successfully logged in.',
157
- es: 'Usuario ha iniciado sesión exitosamente.',
158
- };
159
- Translate.Data['error-user-log-in'] = {
160
- en: 'Error during user login. Please check your credentials and try again.',
161
- es: 'Error durante el inicio de sesión del usuario. Por favor, verifica tus credenciales e intenta nuevamente.',
162
- };
163
- Translate.Data['confirm-logout'] = { en: 'Confirm Logout', es: 'Confirmar cierre de sesión' };
164
- Translate.Data['success-logout'] = { en: 'Successful session logout', es: 'Cierre de sesión exitoso' };
165
- Translate.Data['account'] = { en: 'Account', es: 'Cuenta' };
166
-
167
- Translate.Data['update'] = { en: 'Update', es: 'Actualizar' };
168
- Translate.Data['success-update-user'] = { en: 'user update successfully', es: 'usuario actualizado correctamente' };
169
- Translate.Data['error-update-user'] = { en: 'error update user', es: 'error al actualizar el usuario' };
170
-
171
- Translate.Data['edit'] = { en: 'Edit', es: 'Editar' };
172
- Translate.Data['unconfirmed'] = { en: 'unconfirmed', es: 'No confirmado' };
173
- Translate.Data['confirmed'] = { en: 'confirmed', es: 'Confirmado' };
174
- Translate.Data['confirm'] = { en: 'confirm', es: 'confirmar' };
175
- Translate.Data['cancel'] = { en: 'cancel', es: 'cancelar' };
176
- Translate.Data['verify-email'] = { en: 'Verify email', es: 'email de verificacion' };
177
-
178
- Translate.Data[`email send`] = { en: 'email send', es: 'email enviado' };
179
-
180
- Translate.Data['success-generate-keys'] = { en: 'Keys generated successfully.', es: 'Llaves generadas con éxito.' };
181
- Translate.Data['error-generate-keys'] = { en: 'Error generating keys.', es: 'Error al generar las llaves.' };
182
-
183
- Translate.Data['copy'] = { en: 'Copy', es: 'Copiar' };
184
- Translate.Data['keys'] = { en: 'Keys', es: 'Llaves' };
185
-
186
- Translate.Data['success-copy-data'] = { es: '¡Datos copiados con éxito!', en: 'Data copied successfully!' };
187
-
188
- Translate.Data['character'] = { es: 'Personaje', en: 'Character' };
189
- Translate.Data['file-path'] = { en: 'file path', es: 'ruta de archivo' };
190
- Translate.Data['drop-file'] = { en: 'drop file', es: 'soltar archivo' };
191
- Translate.Data['file-upload-failed'] = { en: 'file upload failed', es: 'error al subir el archivo' };
192
- Translate.Data['current-path'] = { en: 'current path', es: 'ruta actual' };
193
- Translate.Data['go'] = { en: 'go', es: 'ir' };
194
- Translate.Data['home-directory'] = { en: 'Home directory', es: 'Directorio de inicio' };
195
- Translate.Data['create'] = { en: 'create', es: 'Crear' };
196
- Translate.Data['home'] = { en: 'Home', es: 'Inicio' };
197
- Translate.Data['calendar'] = { es: 'Calendario', en: 'Calendar' };
198
- Translate.Data['docs'] = { es: 'Documentacion', en: 'Documentation' };
199
- Translate.Data['clean-cache'] = { es: 'Limpiar caché', en: 'Clean cache' };
200
-
201
- Translate.Data['add'] = { es: 'Agregar', en: 'Add' };
202
- Translate.Data['mode'] = { es: 'Modo', en: 'Mode' };
203
- Translate.Data['result'] = { es: 'Resultado', en: 'Result' };
204
- Translate.Data['results'] = { es: 'Resultados', en: 'Results' };
205
- Translate.Data['no-result-found'] = {
206
- es: 'No se encontraron resultados',
207
- en: 'No results found',
208
- };
209
- Translate.Data['recent'] = { es: 'Reciente', en: 'recent' };
210
-
211
- Translate.Data = {
212
- ...Translate.Data,
213
- ...{
214
- title: {
215
- en: 'New Content Entry',
216
- es: 'Nueva entrada de blog',
217
- },
218
- author: {
219
- en: 'Author',
220
- es: 'Autor',
221
- },
222
- date: {
223
- en: 'Published on',
224
- es: 'Publicado el',
225
- },
226
- content: {
227
- en: 'Content',
228
- es: 'Contenido',
229
- },
230
- _content: {
231
- en: 'This is the content of the new blog entry.',
232
- es: 'Este es el contenido de la nueva entrada de blog.',
233
- },
234
- tags: {
235
- en: 'Tags',
236
- es: 'Etiquetas',
237
- },
238
- categories: {
239
- en: 'Categories',
240
- es: 'Categorías',
241
- },
242
- comments: {
243
- en: 'Comments',
244
- es: 'Comentarios',
245
- },
246
- },
247
- };
248
- Translate.Data['warning-upload-no-selects-file'] = {
249
- es: 'No ha seleccionado ningún archivo para subir.',
250
- en: 'No file selected for upload.',
251
- };
252
- Translate.Data['no-can-connect-stream-device'] = {
253
- es: 'No se pudo conectar al dispositivo de transmisión.',
254
- en: 'Unable to connect to the stream device.',
255
- };
256
-
257
- Translate.Data['equip'] = {
258
- es: 'Equipar',
259
- en: 'Equip',
260
- };
261
- Translate.Data['unequip'] = {
262
- es: 'Desequipar',
263
- en: 'Unequip',
264
- };
265
-
266
- Translate.Data['i-have-account'] = {
267
- en: 'I have an account',
268
- es: 'Tengo una cuenta',
269
- };
270
- Translate.Data['i-not-have-account'] = {
271
- en: 'I do not have an account',
272
- es: 'No tengo una cuenta',
273
- };
274
- Translate.Data['forgot-password'] = {
275
- en: 'Forgot Password',
276
- es: 'Olvidé mi contraseña',
277
- };
278
- Translate.Data['recover'] = {
279
- en: 'Recover',
280
- es: 'Recuperar',
281
- };
282
- Translate.Data['send-recover-verify-email'] = {
283
- en: 'Send recover email',
284
- es: 'Enviar email de recuperación',
285
- };
286
- Translate.Data['recover-verify-email'] = {
287
- en: 'recover email',
288
- es: 'email de recuperación',
289
- };
290
- Translate.Data['15-min-valid-recover-email'] = {
291
- en: 'The recovery email link will expire in 15 minutes.',
292
- es: 'El enlace de recuperación del email expirará en 15 minutos.',
293
- };
294
- Translate.Data['success-recover-verify-email'] = {
295
- en: 'Email send with recover password instructions.',
296
- es: 'Email enviado con instrucciones para recuperar contraseña.',
297
- };
298
- Translate.Data['error-recover-verify-email'] = {
299
- en: 'Error sending recover email.',
300
- es: 'Error al enviar email de recuperación.',
301
- };
302
- Translate.Data['success-recover-password'] = {
303
- en: 'Password successfully updated.',
304
- es: 'Contraseña actualizada con éxito.',
305
- };
306
- Translate.Data['error-recover-password'] = {
307
- en: 'Error updating password.',
308
- es: 'Error al actualizar la contraseña.',
309
- };
310
- Translate.Data['change-password'] = {
311
- en: 'Change Password',
312
- es: 'Cambiar contraseña',
313
- };
314
- Translate.Data['resend'] = { en: 'Resend', es: 'Reenviar' };
315
- Translate.Data['delete-account'] = { en: 'Delete Account', es: 'Borrar cuenta' };
316
- Translate.Data['success-delete-account'] = {
317
- en: 'Account deleted successfully.',
318
- es: 'Cuenta borrada con éxito.',
319
- };
320
- Translate.Data['error-delete-account'] = {
321
- en: 'Error deleting account.',
322
- es: 'Error al borrar la cuenta.',
323
- };
324
-
325
- Translate.Data['confirm-delete-account'] = {
326
- en: 'Are you sure you want to delete your account?',
327
- es: '¿Estás seguro de que deseas borrar tu cuenta?',
328
- };
329
- Translate.Data['default-management'] = {
330
- en: 'Default Management',
331
- es: 'Gestión por defecto',
332
- };
333
- Translate.Data['field'] = {
334
- en: 'Field',
335
- es: 'Campo',
336
- };
337
- Translate.Data['success-updated'] = {
338
- en: 'Successfully updated.',
339
- es: 'Actualizado con éxito.',
340
- };
341
- Translate.Data['item-success-delete'] = {
342
- en: 'Item successfully deleted.',
343
- es: 'Elemento eliminado con éxito.',
344
- };
345
- Translate.Data['success-delete-all-items'] = {
346
- en: 'All items successfully deleted.',
347
- es: 'Todos los elementos eliminados con éxito.',
348
- };
349
- Translate.Data['success-create-item'] = {
350
- en: 'Item successfully created.',
351
- es: 'Elemento creado con éxito.',
352
- };
353
- Translate.Data['user-management'] = {
354
- en: 'User Management',
355
- es: 'Gestión de usuarios',
356
- };
357
- Translate.Data['success-update-item'] = { en: 'Item successfully updated.', es: 'Elemento actualizado con éxito.' };
358
- Translate.Data['error-update-item'] = { en: 'Error updating item', es: 'Elemento actualizado con éxito.' };
359
- Translate.Data['instance-management'] = {
360
- en: 'Instance Management',
361
- es: 'Gestión de instancias',
362
- };
363
- Translate.Data['login-attempts-remaining'] = {
364
- en: 'Login attempts remaining:',
365
- es: 'Intentos de inicio de sesión restantes:',
366
- };
367
- Translate.Data['account-locked-try-again-in'] = {
368
- en: 'Account locked. Try again in:',
369
- es: 'Cuenta bloqueada. Intente nuevamente en:',
370
- };
371
- Translate.Data['pre-release'] = {
372
- en: 'Pre release',
373
- es: 'Pre lanzamiento',
374
- };
375
- Translate.Data['all-day'] = {
376
- en: 'Every day',
377
- es: 'Todos los días',
378
- };
379
- Translate.Data['allDay'] = Translate.Data['all-day'];
380
- Translate.Data['allday'] = Translate.Data['all-day'];
381
- Translate.Data['month'] = {
382
- en: 'Month',
383
- es: 'Mes',
384
- };
385
- Translate.Data['week'] = {
386
- en: 'Week',
387
- es: 'Semana',
388
- };
389
- Translate.Data['summary'] = {
390
- en: 'Summary',
391
- es: 'Resumen',
392
- };
393
- Translate.Data['today'] = {
394
- en: 'Today',
395
- es: 'Hoy',
396
- };
397
- Translate.Data['success-add-event-scheduler'] = {
398
- en: 'Event successfully added to scheduler.',
399
- es: 'Evento añadido correctamente al calendario.',
400
- };
401
- Translate.Data['success-get-events-scheduler'] = {
402
- en: 'Events successfully retrieved from scheduler.',
403
- es: 'Eventos obtenidos correctamente del calendario.',
404
- };
405
- },
406
- };
407
-
408
- export { Translate, TranslateCore, textFormatted };
1
+ import { newInstance, getId, cap, capFirst } from './CommonJs.js';
2
+ import { DropDown } from './DropDown.js';
3
+ import { loggerFactory } from './Logger.js';
4
+ import { s, htmls } from './VanillaJs.js';
5
+
6
+ const logger = loggerFactory(import.meta);
7
+
8
+ const textFormatted = (str = '&nbsp &nbsp . . .') => capFirst(str.toLowerCase());
9
+
10
+ const Translate = {
11
+ Data: {},
12
+ Token: {},
13
+ Event: {},
14
+ Parse: function (lang) {
15
+ s('html').lang = lang;
16
+ Object.keys(this.Token).map((translateHash) => {
17
+ if (translateHash in this.Token && lang in this.Token[translateHash]) {
18
+ if (!('placeholder' in this.Token[translateHash]) && s(`.${translateHash}`))
19
+ htmls(`.${translateHash}`, textFormatted(this.Token[translateHash][lang]));
20
+ else if ('placeholder' in this.Token[translateHash] && s(this.Token[translateHash].placeholder))
21
+ s(this.Token[translateHash].placeholder).placeholder = textFormatted(this.Token[translateHash][lang]);
22
+ }
23
+ });
24
+ for (const keyEvent of Object.keys(this.Event)) this.Event[keyEvent]();
25
+ },
26
+ Render: function (keyLang, placeholder) {
27
+ if (!(keyLang in this.Data)) {
28
+ // TODO: add translate package or library for this case
29
+ logger.warn('translate key lang does not exist: ', keyLang);
30
+ return textFormatted(keyLang);
31
+ }
32
+ if (placeholder) this.Data[keyLang].placeholder = placeholder;
33
+ keyLang = this.Data[keyLang];
34
+ const translateHash = getId(this.Token, 'trans');
35
+ this.Token[translateHash] = newInstance(keyLang);
36
+ if ('placeholder' in keyLang) {
37
+ if (s('html').lang in keyLang) return textFormatted(keyLang[s('html').lang]);
38
+ return textFormatted(keyLang['en']);
39
+ }
40
+ if (s('html').lang in keyLang)
41
+ return html`<span class="${translateHash}">${textFormatted(keyLang[s('html').lang])}</span>`;
42
+ return html`<span class="${translateHash}">${textFormatted(keyLang['en'])}</span>`;
43
+ },
44
+ renderLang: function (language) {
45
+ localStorage.setItem('lang', language);
46
+ this.Parse(language);
47
+ if (s(`.action-btn-lang-render`)) htmls(`.action-btn-lang-render`, s('html').lang);
48
+ },
49
+ RenderSetting: async function () {
50
+ return html` <div class="in section-mp">
51
+ ${await DropDown.Render({
52
+ id: 'settings-lang',
53
+ value: s('html').lang ? s('html').lang : 'en',
54
+ label: html`${Translate.Render('lang')}`,
55
+ data: ['en', 'es'].map((language) => {
56
+ return {
57
+ display: html`<i class="fa-solid fa-language"></i> ${Translate.Render(language)}`,
58
+ value: language,
59
+ onClick: () => Translate.renderLang(language),
60
+ };
61
+ }),
62
+ })}
63
+ </div>`;
64
+ },
65
+ };
66
+
67
+ const TranslateCore = {
68
+ Init: async function () {
69
+ if (localStorage.getItem('lang')) s('html').lang = localStorage.getItem('lang');
70
+ Translate.Data = {
71
+ ...Translate.Data,
72
+ isEmpty: {
73
+ es: 'Este campo no puede estar vacío',
74
+ en: 'This field cannot be empty',
75
+ },
76
+ isEmail: {
77
+ es: 'Por favor, introduce una dirección de correo electrónico válida',
78
+ en: 'Please enter a valid email address',
79
+ },
80
+ isLength: {
81
+ es: 'Mínimo 2 caracteres, máximo 20 caracteres',
82
+ en: 'Minimum 2 characters, maximum 20 characters',
83
+ },
84
+ passwordMismatch: {
85
+ es: 'Las contraseñas no coinciden',
86
+ en: 'Passwords do not match',
87
+ },
88
+ invalidPhoneNumber: {
89
+ es: 'Por favor, introduce un número de teléfono válido',
90
+ en: 'Please enter a valid phone number',
91
+ },
92
+ invalidDate: {
93
+ es: 'Por favor, introduce una fecha válida',
94
+ en: 'Please enter a valid date',
95
+ },
96
+ customValidator: {
97
+ es: 'Este campo no cumple con los requisitos específicos',
98
+ en: 'This field does not meet specific requirements',
99
+ },
100
+ };
101
+ Translate.Data['isMobilePhone'] = {
102
+ en: 'Invalid mobile phone number. Please check the format and try again.',
103
+ es: 'Número de teléfono móvil no válido. Revisa el formato e intenta nuevamente.',
104
+ };
105
+ Translate.Data['whatsapp-number'] = {
106
+ en: 'Enter your WhatsApp number, including your country code.',
107
+ es: 'Número de WhatsApp, recuerda colocar el código de tu país',
108
+ };
109
+ Translate.Data['color-copy'] = { es: 'color copiado en el portapapeles', en: 'color copied to clipboard' };
110
+ Translate.Data['pallet-colors'] = { en: 'pallet colors', es: 'paleta de colores' };
111
+ Translate.Data['fullscreen'] = { en: 'Fullscreen', es: 'Pantalla completa' };
112
+ Translate.Data['lang'] = { en: 'Language', es: 'Idioma' };
113
+ Translate.Data['name'] = { en: 'Name', es: 'Nombre' };
114
+ Translate.Data['select'] = { en: 'Select', es: 'Seleccionar' };
115
+ Translate.Data['close'] = { en: 'Close', es: 'Cerrar' };
116
+ Translate.Data['en'] = { en: 'English', es: 'Ingles' };
117
+ Translate.Data['es'] = { en: 'Spanish', es: 'Español' };
118
+ Translate.Data['theme'] = { en: 'Theme', es: 'Tema' };
119
+ Translate.Data['success-upload-file'] = { en: 'file uploaded successfully', es: 'archivo subido correctamente' };
120
+ Translate.Data['file'] = { en: 'file', es: 'archivo' };
121
+ Translate.Data['error-upload-file'] = { en: 'error uploading file', es: 'error al subir el archivo' };
122
+ Translate.Data['generate'] = { en: 'generate', es: 'Generar' };
123
+ Translate.Data['download'] = { en: 'download', es: 'Descargar' };
124
+ Translate.Data['delete'] = { en: 'delete', es: 'Eliminar' };
125
+ Translate.Data['success-delete'] = { en: 'success delete item', es: 'Item eliminado con exito' };
126
+ Translate.Data['invalid-data'] = { en: 'Invalid data', es: 'Datos invalidos' };
127
+ Translate.Data['upload'] = { en: 'upload', es: 'Subir' };
128
+ Translate.Data['load'] = { en: 'load', es: 'Cargar' };
129
+ Translate.Data['settings'] = { en: 'settings', es: 'configuraciones' };
130
+ Translate.Data['search'] = { en: 'Search', es: 'Buscar' };
131
+ Translate.Data['view'] = { en: 'view', es: 'ver' };
132
+ Translate.Data['user'] = { en: 'User', es: 'Usuario' };
133
+ Translate.Data['pass'] = { en: 'Password', es: 'Contraseña' };
134
+ Translate.Data['email'] = { en: 'Email', es: 'Correo Electronico' };
135
+ Translate.Data['clear'] = { en: 'Reset', es: 'Limpiar' };
136
+ Translate.Data['select-role'] = { en: 'Select Role', es: 'Seleccionar Rol' };
137
+ Translate.Data['sign-up'] = { en: 'Sign Up', es: 'Registrarse' };
138
+ Translate.Data['log-in'] = { en: 'Log In', es: 'Ingresar' };
139
+ Translate.Data['log-out'] = { en: 'Log Out', es: 'Cerrar Sesión' };
140
+ Translate.Data['broker'] = { en: 'Broker', es: 'Agente de ventas' };
141
+ Translate.Data['owner'] = { en: 'Owner', es: 'Propietario' };
142
+ Translate.Data['password'] = { en: 'Password', es: 'Contraseña' };
143
+ Translate.Data['repeat'] = { en: 'Repeat', es: 'Repetir' };
144
+ Translate.Data['username'] = { en: 'username', es: 'Nombre de usuario' };
145
+ Translate.Data['success-register-user'] = {
146
+ en: 'user successfully registered',
147
+ es: 'Usuario registrado con exito',
148
+ };
149
+ Translate.Data['no-valid-register'] = { en: 'No valid register', es: 'Registro no válido' };
150
+ Translate.Data['success-user'] = { en: 'user/s successfully obtained', es: 'Usuario/s obtenido correctamente' };
151
+ Translate.Data['width'] = { en: 'width', es: 'ancho' };
152
+ Translate.Data['height'] = { en: 'height', es: 'altura' };
153
+ Translate.Data['type'] = { en: 'Type', es: 'Tipo' };
154
+ Translate.Data['write'] = { en: 'write', es: 'escribir' };
155
+ Translate.Data['send'] = { en: 'Send', es: 'Enviar' };
156
+ Translate.Data['success-user-log-in'] = {
157
+ en: 'User successfully logged in.',
158
+ es: 'Usuario ha iniciado sesión exitosamente.',
159
+ };
160
+ Translate.Data['error-user-log-in'] = {
161
+ en: 'Error during user login. Please check your credentials and try again.',
162
+ es: 'Error durante el inicio de sesión del usuario. Por favor, verifica tus credenciales e intenta nuevamente.',
163
+ };
164
+ Translate.Data['confirm-logout'] = { en: 'Confirm Logout', es: 'Confirmar cierre de sesión' };
165
+ Translate.Data['success-logout'] = { en: 'Successful session logout', es: 'Cierre de sesión exitoso' };
166
+ Translate.Data['account'] = { en: 'Account', es: 'Cuenta' };
167
+
168
+ Translate.Data['update'] = { en: 'Update', es: 'Actualizar' };
169
+ Translate.Data['success-update-user'] = { en: 'user update successfully', es: 'usuario actualizado correctamente' };
170
+ Translate.Data['error-update-user'] = { en: 'error update user', es: 'error al actualizar el usuario' };
171
+
172
+ Translate.Data['edit'] = { en: 'Edit', es: 'Editar' };
173
+ Translate.Data['unconfirmed'] = { en: 'unconfirmed', es: 'No confirmado' };
174
+ Translate.Data['confirmed'] = { en: 'confirmed', es: 'Confirmado' };
175
+ Translate.Data['confirm'] = { en: 'confirm', es: 'confirmar' };
176
+ Translate.Data['cancel'] = { en: 'cancel', es: 'cancelar' };
177
+ Translate.Data['verify-email'] = { en: 'Verify email', es: 'email de verificacion' };
178
+
179
+ Translate.Data[`email send`] = { en: 'email send', es: 'email enviado' };
180
+
181
+ Translate.Data['success-generate-keys'] = { en: 'Keys generated successfully.', es: 'Llaves generadas con éxito.' };
182
+ Translate.Data['error-generate-keys'] = { en: 'Error generating keys.', es: 'Error al generar las llaves.' };
183
+
184
+ Translate.Data['copy'] = { en: 'Copy', es: 'Copiar' };
185
+ Translate.Data['keys'] = { en: 'Keys', es: 'Llaves' };
186
+
187
+ Translate.Data['success-copy-data'] = { es: '¡Datos copiados con éxito!', en: 'Data copied successfully!' };
188
+
189
+ Translate.Data['character'] = { es: 'Personaje', en: 'Character' };
190
+ Translate.Data['file-path'] = { en: 'file path', es: 'ruta de archivo' };
191
+ Translate.Data['drop-file'] = { en: 'drop file', es: 'soltar archivo' };
192
+ Translate.Data['file-upload-failed'] = { en: 'file upload failed', es: 'error al subir el archivo' };
193
+ Translate.Data['current-path'] = { en: 'current path', es: 'ruta actual' };
194
+ Translate.Data['go'] = { en: 'go', es: 'ir' };
195
+ Translate.Data['home-directory'] = { en: 'Home directory', es: 'Directorio de inicio' };
196
+ Translate.Data['create'] = { en: 'create', es: 'Crear' };
197
+ Translate.Data['home'] = { en: 'Home', es: 'Inicio' };
198
+ Translate.Data['calendar'] = { es: 'Calendario', en: 'Calendar' };
199
+ Translate.Data['docs'] = { es: 'Documentacion', en: 'Documentation' };
200
+ Translate.Data['clean-cache'] = { es: 'Limpiar caché', en: 'Clean cache' };
201
+
202
+ Translate.Data['add'] = { es: 'Agregar', en: 'Add' };
203
+ Translate.Data['mode'] = { es: 'Modo', en: 'Mode' };
204
+ Translate.Data['result'] = { es: 'Resultado', en: 'Result' };
205
+ Translate.Data['results'] = { es: 'Resultados', en: 'Results' };
206
+ Translate.Data['no-result-found'] = {
207
+ es: 'No se encontraron resultados',
208
+ en: 'No results found',
209
+ };
210
+ Translate.Data['no-preview-available'] = {
211
+ en: 'No preview available',
212
+ es: 'Vista previa no disponible',
213
+ };
214
+ Translate.Data['recent'] = { es: 'Reciente', en: 'recent' };
215
+
216
+ Translate.Data = {
217
+ ...Translate.Data,
218
+ ...{
219
+ title: {
220
+ en: 'Title Content Entry',
221
+ es: 'Titulo de entrada',
222
+ },
223
+ author: {
224
+ en: 'Author',
225
+ es: 'Autor',
226
+ },
227
+ date: {
228
+ en: 'Published on',
229
+ es: 'Publicado el',
230
+ },
231
+ content: {
232
+ en: 'Content',
233
+ es: 'Contenido',
234
+ },
235
+ _content: {
236
+ en: 'This is the content of the new blog entry.',
237
+ es: 'Este es el contenido de la nueva entrada de blog.',
238
+ },
239
+ tags: {
240
+ en: 'Tags',
241
+ es: 'Etiquetas',
242
+ },
243
+ categories: {
244
+ en: 'Categories',
245
+ es: 'Categorías',
246
+ },
247
+ comments: {
248
+ en: 'Comments',
249
+ es: 'Comentarios',
250
+ },
251
+ },
252
+ };
253
+ Translate.Data['warning-upload-no-selects-file'] = {
254
+ es: 'No ha seleccionado ningún archivo para subir.',
255
+ en: 'No file selected for upload.',
256
+ };
257
+ Translate.Data['no-can-connect-stream-device'] = {
258
+ es: 'No se pudo conectar al dispositivo de transmisión.',
259
+ en: 'Unable to connect to the stream device.',
260
+ };
261
+
262
+ Translate.Data['equip'] = {
263
+ es: 'Equipar',
264
+ en: 'Equip',
265
+ };
266
+ Translate.Data['unequip'] = {
267
+ es: 'Desequipar',
268
+ en: 'Unequip',
269
+ };
270
+
271
+ Translate.Data['i-have-account'] = {
272
+ en: 'I have an account',
273
+ es: 'Tengo una cuenta',
274
+ };
275
+ Translate.Data['i-not-have-account'] = {
276
+ en: 'I do not have an account',
277
+ es: 'No tengo una cuenta',
278
+ };
279
+ Translate.Data['forgot-password'] = {
280
+ en: 'Forgot Password',
281
+ es: 'Olvidé mi contraseña',
282
+ };
283
+ Translate.Data['recover'] = {
284
+ en: 'Recover',
285
+ es: 'Recuperar',
286
+ };
287
+ Translate.Data['send-recover-verify-email'] = {
288
+ en: 'Send recover email',
289
+ es: 'Enviar email de recuperación',
290
+ };
291
+ Translate.Data['recover-verify-email'] = {
292
+ en: 'recover email',
293
+ es: 'email de recuperación',
294
+ };
295
+ Translate.Data['15-min-valid-recover-email'] = {
296
+ en: 'The recovery email link will expire in 15 minutes.',
297
+ es: 'El enlace de recuperación del email expirará en 15 minutos.',
298
+ };
299
+ Translate.Data['success-recover-verify-email'] = {
300
+ en: 'Email send with recover password instructions.',
301
+ es: 'Email enviado con instrucciones para recuperar contraseña.',
302
+ };
303
+ Translate.Data['error-recover-verify-email'] = {
304
+ en: 'Error sending recover email.',
305
+ es: 'Error al enviar email de recuperación.',
306
+ };
307
+ Translate.Data['success-recover-password'] = {
308
+ en: 'Password successfully updated.',
309
+ es: 'Contraseña actualizada con éxito.',
310
+ };
311
+ Translate.Data['error-recover-password'] = {
312
+ en: 'Error updating password.',
313
+ es: 'Error al actualizar la contraseña.',
314
+ };
315
+ Translate.Data['change-password'] = {
316
+ en: 'Change Password',
317
+ es: 'Cambiar contraseña',
318
+ };
319
+ Translate.Data['resend'] = { en: 'Resend', es: 'Reenviar' };
320
+ Translate.Data['delete-account'] = { en: 'Delete Account', es: 'Borrar cuenta' };
321
+ Translate.Data['success-delete-account'] = {
322
+ en: 'Account deleted successfully.',
323
+ es: 'Cuenta borrada con éxito.',
324
+ };
325
+ Translate.Data['error-delete-account'] = {
326
+ en: 'Error deleting account.',
327
+ es: 'Error al borrar la cuenta.',
328
+ };
329
+
330
+ Translate.Data['confirm-delete-account'] = {
331
+ en: 'Are you sure you want to delete your account?',
332
+ es: '¿Estás seguro de que deseas borrar tu cuenta?',
333
+ };
334
+ Translate.Data['default-management'] = {
335
+ en: 'Default Management',
336
+ es: 'Gestión por defecto',
337
+ };
338
+ Translate.Data['field'] = {
339
+ en: 'Field',
340
+ es: 'Campo',
341
+ };
342
+ Translate.Data['success-updated'] = {
343
+ en: 'Successfully updated.',
344
+ es: 'Actualizado con éxito.',
345
+ };
346
+ Translate.Data['item-success-delete'] = {
347
+ en: 'Item successfully deleted.',
348
+ es: 'Elemento eliminado con éxito.',
349
+ };
350
+ Translate.Data['success-delete-all-items'] = {
351
+ en: 'All items successfully deleted.',
352
+ es: 'Todos los elementos eliminados con éxito.',
353
+ };
354
+ Translate.Data['success-create-item'] = {
355
+ en: 'Item successfully created.',
356
+ es: 'Elemento creado con éxito.',
357
+ };
358
+ Translate.Data['user-management'] = {
359
+ en: 'User Management',
360
+ es: 'Gestión de usuarios',
361
+ };
362
+ Translate.Data['success-update-item'] = { en: 'Item successfully updated.', es: 'Elemento actualizado con éxito.' };
363
+ Translate.Data['error-update-item'] = { en: 'Error updating item', es: 'Elemento actualizado con éxito.' };
364
+ Translate.Data['instance-management'] = {
365
+ en: 'Instance Management',
366
+ es: 'Gestión de instancias',
367
+ };
368
+ Translate.Data['login-attempts-remaining'] = {
369
+ en: 'Login attempts remaining:',
370
+ es: 'Intentos de inicio de sesión restantes:',
371
+ };
372
+ Translate.Data['account-locked-try-again-in'] = {
373
+ en: 'Account locked. Try again in:',
374
+ es: 'Cuenta bloqueada. Intente nuevamente en:',
375
+ };
376
+ Translate.Data['pre-release'] = {
377
+ en: 'Pre release',
378
+ es: 'Pre lanzamiento',
379
+ };
380
+ Translate.Data['all-day'] = {
381
+ en: 'Every day',
382
+ es: 'Todos los días',
383
+ };
384
+ Translate.Data['allDay'] = Translate.Data['all-day'];
385
+ Translate.Data['allday'] = Translate.Data['all-day'];
386
+ Translate.Data['month'] = {
387
+ en: 'Month',
388
+ es: 'Mes',
389
+ };
390
+ Translate.Data['week'] = {
391
+ en: 'Week',
392
+ es: 'Semana',
393
+ };
394
+ Translate.Data['summary'] = {
395
+ en: 'Summary',
396
+ es: 'Resumen',
397
+ };
398
+ Translate.Data['today'] = {
399
+ en: 'Today',
400
+ es: 'Hoy',
401
+ };
402
+ Translate.Data['success-add-event-scheduler'] = {
403
+ en: 'Event successfully added to scheduler.',
404
+ es: 'Evento añadido correctamente al calendario.',
405
+ };
406
+ Translate.Data['success-edit-event-scheduler'] = {
407
+ en: 'Event successfully updated to scheduler.',
408
+ es: 'Evento actualizado correctamente al calendario.',
409
+ };
410
+ Translate.Data['success-get-events-scheduler'] = {
411
+ en: 'Events successfully retrieved from scheduler.',
412
+ es: 'Eventos obtenidos correctamente del calendario.',
413
+ };
414
+ Translate.Data['success-add-post'] = {
415
+ en: 'Post added successfully',
416
+ es: 'Post añadido con éxito',
417
+ };
418
+ Translate.Data['success-get-posts'] = {
419
+ en: 'Posts successfully retrieved',
420
+ es: 'Posts obtenidos con éxito',
421
+ };
422
+ Translate.Data['confirm-delete-item'] = {
423
+ en: 'Are you sure you want to delete this item?',
424
+ es: '¿Estás seguro de que deseas eliminar este elemento?',
425
+ };
426
+ Translate.Data['success-edit-post'] = {
427
+ en: 'Post edited successfully',
428
+ es: 'Post editado con éxito',
429
+ };
430
+ Translate.Data['confirm-delete-all-data'] = {
431
+ en: 'Are you sure you want to delete all data?',
432
+ es: 'Estas seguro de eliminar todos los datos?',
433
+ };
434
+ },
435
+ };
436
+
437
+ export { Translate, TranslateCore, textFormatted };