underpost 2.7.1 → 2.7.2

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 (213) 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/.nycrc +9 -9
  7. package/.prettierignore +12 -12
  8. package/.prettierrc +9 -9
  9. package/.vscode/extensions.json +72 -72
  10. package/.vscode/settings.json +100 -99
  11. package/Dockerfile +89 -89
  12. package/LICENSE +21 -21
  13. package/README.md +96 -96
  14. package/bin/db.js +172 -119
  15. package/bin/deploy.js +582 -661
  16. package/bin/dns.js +1 -1
  17. package/bin/file.js +92 -92
  18. package/bin/index.js +53 -53
  19. package/bin/install.js +398 -357
  20. package/bin/shortcut.js +44 -44
  21. package/bin/ssl.js +65 -64
  22. package/bin/util.js +182 -182
  23. package/bin/vs.js +35 -35
  24. package/conf.js +251 -249
  25. package/docker-compose.yml +67 -67
  26. package/jsconfig.json +7 -7
  27. package/jsdoc.json +32 -32
  28. package/nodemon.json +6 -6
  29. package/package.json +137 -132
  30. package/prometheus.yml +36 -36
  31. package/setup.sh +24 -24
  32. package/src/api/core/core.controller.js +69 -69
  33. package/src/api/core/core.model.js +11 -11
  34. package/src/api/core/core.router.js +23 -23
  35. package/src/api/core/core.service.js +29 -29
  36. package/src/api/crypto/crypto.controller.js +51 -51
  37. package/src/api/crypto/crypto.model.js +23 -23
  38. package/src/api/crypto/crypto.router.js +20 -20
  39. package/src/api/crypto/crypto.service.js +64 -64
  40. package/src/api/default/default.controller.js +69 -69
  41. package/src/api/default/default.model.js +20 -20
  42. package/src/api/default/default.router.js +23 -23
  43. package/src/api/default/default.service.js +31 -31
  44. package/src/api/file/file.controller.js +53 -51
  45. package/src/api/file/file.model.js +19 -19
  46. package/src/api/file/file.router.js +21 -20
  47. package/src/api/file/file.service.js +76 -70
  48. package/src/api/instance/instance.controller.js +69 -69
  49. package/src/api/instance/instance.model.js +36 -36
  50. package/src/api/instance/instance.router.js +33 -33
  51. package/src/api/instance/instance.service.js +48 -48
  52. package/src/api/test/test.controller.js +59 -59
  53. package/src/api/test/test.model.js +14 -14
  54. package/src/api/test/test.router.js +21 -21
  55. package/src/api/test/test.service.js +35 -35
  56. package/src/api/user/user.build.js +16 -0
  57. package/src/api/user/user.controller.js +70 -70
  58. package/src/api/user/user.model.js +65 -65
  59. package/src/api/user/user.router.js +345 -345
  60. package/src/api/user/user.service.js +479 -479
  61. package/src/api.js +23 -23
  62. package/src/client/Default.index.js +40 -40
  63. package/src/client/components/core/Account.js +290 -290
  64. package/src/client/components/core/AgGrid.js +160 -160
  65. package/src/client/components/core/Auth.js +19 -19
  66. package/src/client/components/core/Badge.js +32 -32
  67. package/src/client/components/core/BlockChain.js +41 -41
  68. package/src/client/components/core/Blog.js +9 -9
  69. package/src/client/components/core/BtnIcon.js +101 -94
  70. package/src/client/components/core/CalendarCore.js +458 -319
  71. package/src/client/components/core/Chat.js +64 -64
  72. package/src/client/components/core/ColorPalette.js +5267 -5267
  73. package/src/client/components/core/CommonJs.js +735 -732
  74. package/src/client/components/core/Content.js +193 -49
  75. package/src/client/components/core/Css.js +1064 -1027
  76. package/src/client/components/core/CssCore.js +817 -796
  77. package/src/client/components/core/D3Chart.js +44 -44
  78. package/src/client/components/core/Docs.js +229 -229
  79. package/src/client/components/core/DropDown.js +164 -164
  80. package/src/client/components/core/EventsUI.js +46 -54
  81. package/src/client/components/core/FileExplorer.js +699 -624
  82. package/src/client/components/core/FullScreen.js +45 -45
  83. package/src/client/components/core/Input.js +346 -259
  84. package/src/client/components/core/JoyStick.js +77 -77
  85. package/src/client/components/core/Keyboard.js +73 -73
  86. package/src/client/components/core/LoadingAnimation.js +179 -157
  87. package/src/client/components/core/LogIn.js +187 -181
  88. package/src/client/components/core/LogOut.js +58 -52
  89. package/src/client/components/core/Logger.js +26 -26
  90. package/src/client/components/core/Modal.js +1612 -1596
  91. package/src/client/components/core/NotificationManager.js +84 -84
  92. package/src/client/components/core/Panel.js +613 -413
  93. package/src/client/components/core/PanelForm.js +468 -0
  94. package/src/client/components/core/Polyhedron.js +162 -162
  95. package/src/client/components/core/Recover.js +204 -204
  96. package/src/client/components/core/Responsive.js +53 -53
  97. package/src/client/components/core/RichText.js +51 -27
  98. package/src/client/components/core/Router.js +76 -77
  99. package/src/client/components/core/Scroll.js +34 -0
  100. package/src/client/components/core/SignUp.js +125 -125
  101. package/src/client/components/core/SocketIo.js +72 -72
  102. package/src/client/components/core/Stream.js +113 -113
  103. package/src/client/components/core/ToggleSwitch.js +87 -87
  104. package/src/client/components/core/ToolTip.js +26 -26
  105. package/src/client/components/core/Translate.js +437 -408
  106. package/src/client/components/core/Validator.js +100 -100
  107. package/src/client/components/core/VanillaJs.js +460 -457
  108. package/src/client/components/core/Wallet.js +106 -106
  109. package/src/client/components/core/Webhook.js +25 -25
  110. package/src/client/components/core/Worker.js +272 -272
  111. package/src/client/components/default/CommonDefault.js +29 -29
  112. package/src/client/components/default/CssDefault.js +13 -13
  113. package/src/client/components/default/ElementsDefault.js +38 -38
  114. package/src/client/components/default/LogInDefault.js +41 -41
  115. package/src/client/components/default/LogOutDefault.js +28 -28
  116. package/src/client/components/default/MenuDefault.js +389 -389
  117. package/src/client/components/default/RoutesDefault.js +48 -48
  118. package/src/client/components/default/SettingsDefault.js +16 -16
  119. package/src/client/components/default/SignUpDefault.js +9 -9
  120. package/src/client/components/default/SocketIoDefault.js +54 -54
  121. package/src/client/components/default/TranslateDefault.js +7 -7
  122. package/src/client/public/default/assets/mailer/api-user-check.png +0 -0
  123. package/src/client/public/default/assets/mailer/api-user-invalid-token.png +0 -0
  124. package/src/client/public/default/assets/mailer/api-user-recover.png +0 -0
  125. package/src/client/public/default/browserconfig.xml +11 -11
  126. package/src/client/public/default/manifest.webmanifest +68 -68
  127. package/src/client/public/default/plantuml/client-conf.svg +1 -0
  128. package/src/client/public/default/plantuml/client-schema.svg +1 -0
  129. package/src/client/public/default/plantuml/cron-conf.svg +1 -0
  130. package/src/client/public/default/plantuml/cron-schema.svg +1 -0
  131. package/src/client/public/default/plantuml/server-conf.svg +1 -0
  132. package/src/client/public/default/plantuml/server-schema.svg +1 -0
  133. package/src/client/public/default/plantuml/ssr-conf.svg +1 -0
  134. package/src/client/public/default/plantuml/ssr-schema.svg +1 -0
  135. package/src/client/public/default/sitemap +147 -147
  136. package/src/client/public/default/yandex-browser-manifest.json +8 -8
  137. package/src/client/public/doc/sitemap +147 -147
  138. package/src/client/public/test/sitemap +147 -147
  139. package/src/client/services/core/core.service.js +170 -152
  140. package/src/client/services/crypto/crypto.service.js +70 -70
  141. package/src/client/services/default/default.management.js +345 -345
  142. package/src/client/services/default/default.service.js +89 -89
  143. package/src/client/services/file/file.service.js +70 -70
  144. package/src/client/services/instance/instance.management.js +74 -74
  145. package/src/client/services/instance/instance.service.js +89 -89
  146. package/src/client/services/test/test.service.js +70 -70
  147. package/src/client/services/user/user.management.js +50 -50
  148. package/src/client/services/user/user.service.js +89 -89
  149. package/src/client/ssr/Render.js +16 -16
  150. package/src/client/ssr/body-components/CacheControl.js +114 -113
  151. package/src/client/ssr/body-components/DefaultSplashScreen.js +79 -79
  152. package/src/client/ssr/email-components/DefaultRecoverEmail.js +21 -21
  153. package/src/client/ssr/email-components/DefaultVerifyEmail.js +17 -17
  154. package/src/client/ssr/head-components/Css.js +241 -241
  155. package/src/client/ssr/head-components/DefaultScripts.js +3 -3
  156. package/src/client/ssr/head-components/Microdata.js +11 -11
  157. package/src/client/ssr/head-components/Production.js +1 -1
  158. package/src/client/ssr/head-components/PwaDefault.js +59 -59
  159. package/src/client/ssr/head-components/Seo.js +14 -14
  160. package/src/client/sw/default.sw.js +201 -201
  161. package/src/client/sw/template.sw.js +84 -84
  162. package/src/client.build.js +22 -22
  163. package/src/client.dev.js +21 -21
  164. package/src/cron.js +25 -25
  165. package/src/db/DataBaseProvider.js +34 -34
  166. package/src/db/mariadb/MariaDB.js +33 -33
  167. package/src/db/mongo/MongooseDB.js +46 -46
  168. package/src/dns.js +22 -22
  169. package/src/index.js +42 -29
  170. package/src/mailer/EmailRender.js +69 -69
  171. package/src/mailer/MailerProvider.js +96 -96
  172. package/src/proxy.js +22 -22
  173. package/src/runtime/lampp/Lampp.js +69 -44
  174. package/src/runtime/nginx/Nginx.js +3 -3
  175. package/src/runtime/xampp/Xampp.js +49 -49
  176. package/src/server/auth.js +235 -204
  177. package/src/server/backup.js +101 -94
  178. package/src/server/client-build-live.js +72 -72
  179. package/src/server/client-build.js +705 -699
  180. package/src/server/client-dev-server.js +60 -58
  181. package/src/server/client-formatted.js +48 -48
  182. package/src/server/client-icons.js +149 -150
  183. package/src/server/conf.js +860 -611
  184. package/src/server/dns.js +98 -98
  185. package/src/server/downloader.js +42 -42
  186. package/src/server/logger.js +180 -180
  187. package/src/server/network.js +122 -122
  188. package/src/server/peer.js +33 -33
  189. package/src/server/process.js +66 -66
  190. package/src/server/prompt-optimizer.js +28 -28
  191. package/src/server/proxy.js +118 -118
  192. package/src/server/runtime.js +444 -393
  193. package/src/server/ssl.js +109 -107
  194. package/src/server.js +25 -25
  195. package/src/ws/IoInterface.js +45 -45
  196. package/src/ws/IoServer.js +39 -39
  197. package/src/ws/core/channels/core.ws.chat.js +23 -23
  198. package/src/ws/core/channels/core.ws.mailer.js +35 -35
  199. package/src/ws/core/channels/core.ws.stream.js +31 -31
  200. package/src/ws/core/core.ws.connection.js +28 -28
  201. package/src/ws/core/core.ws.emit.js +14 -14
  202. package/src/ws/core/core.ws.server.js +24 -24
  203. package/src/ws/core/management/core.ws.chat.js +8 -8
  204. package/src/ws/core/management/core.ws.mailer.js +16 -16
  205. package/src/ws/core/management/core.ws.stream.js +8 -8
  206. package/src/ws/default/channels/default.ws.main.js +16 -16
  207. package/src/ws/default/default.ws.connection.js +22 -22
  208. package/src/ws/default/default.ws.emit.js +14 -14
  209. package/src/ws/default/default.ws.server.js +20 -20
  210. package/src/ws/default/management/default.ws.main.js +8 -8
  211. package/startup.js +11 -11
  212. package/supervisord-openssh-server.conf +4 -4
  213. package/test/api.test.js +60 -60
@@ -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 };