mirror of
https://github.com/hrfee/jfa-go.git
synced 2024-11-13 22:00:10 +00:00
Compare commits
10 Commits
84429a3399
...
07de4e5015
Author | SHA1 | Date | |
---|---|---|---|
07de4e5015 | |||
57e6469564 | |||
|
cd2c37057d | ||
|
a35ca762e3 | ||
|
fd10b2600f | ||
|
1384091d95 | ||
|
ca29ea2d46 | ||
|
d8c9ae4ff6 | ||
|
4403ea8e18 | ||
|
528829ffda |
@ -18,6 +18,7 @@ before:
|
|||||||
- cp -r html data/
|
- cp -r html data/
|
||||||
- cp -r lang data/
|
- cp -r lang data/
|
||||||
- cp LICENSE data/
|
- cp LICENSE data/
|
||||||
|
- cp jfa-go.service data/
|
||||||
- python3 scripts/enumerate_config.py -i config/config-base.json -o data/config-base.json
|
- python3 scripts/enumerate_config.py -i config/config-base.json -o data/config-base.json
|
||||||
- python3 scripts/generate_ini.py -i config/config-base.json -o data/config-default.ini
|
- python3 scripts/generate_ini.py -i config/config-base.json -o data/config-default.ini
|
||||||
- python3 scripts/compile_mjml.py -o data/
|
- python3 scripts/compile_mjml.py -o data/
|
||||||
|
@ -451,6 +451,11 @@ p.top {
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dropdown-display.above {
|
||||||
|
top: auto;
|
||||||
|
bottom: 115%;
|
||||||
|
}
|
||||||
|
|
||||||
pre {
|
pre {
|
||||||
white-space: pre-wrap; /* css-3 */
|
white-space: pre-wrap; /* css-3 */
|
||||||
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
|
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
"inviteNumberOfUses": "Números de usos",
|
"inviteNumberOfUses": "Números de usos",
|
||||||
"inviteDuration": "Duración de invitación",
|
"inviteDuration": "Duración de invitación",
|
||||||
"warning": "Advertencia",
|
"warning": "Advertencia",
|
||||||
"inviteInfiniteUsesWarning": "Las invitaciones con usos infinitos pueden usarse abusivamente",
|
"inviteInfiniteUsesWarning": "Las invitaciones con usos infinitos se pueden usar de forma abusiva",
|
||||||
"inviteSendToEmail": "Enviar a",
|
"inviteSendToEmail": "Enviar a",
|
||||||
"login": "Acceso",
|
"login": "Acceso",
|
||||||
"logout": "Cerrar sesión",
|
"logout": "Cerrar sesión",
|
||||||
@ -37,10 +37,10 @@
|
|||||||
"user": "Usuario",
|
"user": "Usuario",
|
||||||
"expiry": "Expiración",
|
"expiry": "Expiración",
|
||||||
"userExpiry": "Caducidad del usuario",
|
"userExpiry": "Caducidad del usuario",
|
||||||
"userExpiryDescription": "Una cantidad específica de tiempo después de cada registro, jfa-go eliminará/deshabilitará la cuenta. Puede cambiar este comportamiento en la configuración.",
|
"userExpiryDescription": "Una cantidad de tiempo específica después de cada registro, jfa-go eliminará / deshabilitará la cuenta. Puede cambiar este comportamiento en la configuración.",
|
||||||
"aboutProgram": "Acerca de",
|
"aboutProgram": "Acerca de",
|
||||||
"version": "Versión",
|
"version": "Versión",
|
||||||
"commitNoun": "Cometer",
|
"commitNoun": "Revisión",
|
||||||
"newUser": "Nuevo usuario",
|
"newUser": "Nuevo usuario",
|
||||||
"profile": "Perfil",
|
"profile": "Perfil",
|
||||||
"unknown": "Desconocido",
|
"unknown": "Desconocido",
|
||||||
@ -49,24 +49,24 @@
|
|||||||
"subject": "Asunto del email",
|
"subject": "Asunto del email",
|
||||||
"message": "Mensaje",
|
"message": "Mensaje",
|
||||||
"variables": "Variables",
|
"variables": "Variables",
|
||||||
"preview": "Previsualizar",
|
"preview": "Vista previa",
|
||||||
"reset": "Reiniciar",
|
"reset": "Reiniciar",
|
||||||
"edit": "Editar",
|
"edit": "Editar",
|
||||||
"extendExpiry": "Extender el vencimiento",
|
"extendExpiry": "Extender el vencimiento",
|
||||||
"customizeMessages": "Personalizar emails",
|
"customizeMessages": "Personalizar mensajes",
|
||||||
"customizeMessagesDescription": "Si no desea utilizar las plantillas de correo electrónico de jfa-go, puede crear las suyas propias con Markdown.",
|
"customizeMessagesDescription": "Si no desea utilizar las plantillas de mensajes de jfa-go, puede crear las suyas con Markdown.",
|
||||||
"markdownSupported": "Se admite Markdown.",
|
"markdownSupported": "Se admite Markdown.",
|
||||||
"modifySettings": "Modificar configuración",
|
"modifySettings": "Modificar configuración",
|
||||||
"modifySettingsDescription": "Aplique la configuración de un perfil existente u obténgalos directamente de un usuario.",
|
"modifySettingsDescription": "Aplique la configuración de un perfil existente u obténgalos directamente de un usuario.",
|
||||||
"applyHomescreenLayout": "Aplicar el diseño de la pantalla de inicio",
|
"applyHomescreenLayout": "Aplicar el diseño de la pantalla de inicio",
|
||||||
"sendDeleteNotificationEmail": "Enviar notificación a correo",
|
"sendDeleteNotificationEmail": "Enviar mensaje de notificación",
|
||||||
"sendDeleteNotifiationExample": "Tu cuenta ha sido eliminada.",
|
"sendDeleteNotifiationExample": "Tu cuenta ha sido eliminada.",
|
||||||
"settingsRestart": "Reiniciar",
|
"settingsRestart": "Reiniciar",
|
||||||
"settingsRestarting": "Reiniciando…",
|
"settingsRestarting": "Reiniciando…",
|
||||||
"settingsRestartRequired": "Reinicio necesario",
|
"settingsRestartRequired": "Reinicio necesario",
|
||||||
"settingsRestartRequiredDescription": "Es necesario reiniciar para aplicar algunas configuraciones que cambió. ¿Reiniciar ahora o más tarde?",
|
"settingsRestartRequiredDescription": "Es necesario reiniciar para aplicar algunas configuraciones que cambió. ¿Reiniciar ahora o más tarde?",
|
||||||
"settingsApplyRestartLater": "Aplicar, reiniciar más tarde",
|
"settingsApplyRestartLater": "Aplicar, reiniciar más tarde",
|
||||||
"settingsApplyRestartNow": "Aplicar, reiniciar más tarde",
|
"settingsApplyRestartNow": "Aplicar y reiniciar",
|
||||||
"settingsApplied": "Se aplicó la configuración.",
|
"settingsApplied": "Se aplicó la configuración.",
|
||||||
"settingsRefreshPage": "Actualiza la página en unos segundos.",
|
"settingsRefreshPage": "Actualiza la página en unos segundos.",
|
||||||
"settingsRequiredOrRestartMessage": "Nota: {n} indica un campo obligatorio, {n} indica que los cambios requieren un reinicio.",
|
"settingsRequiredOrRestartMessage": "Nota: {n} indica un campo obligatorio, {n} indica que los cambios requieren un reinicio.",
|
||||||
@ -75,12 +75,12 @@
|
|||||||
"ombiUserDefaultsDescription": "Cree un usuario Ombi y configúrelo, luego selecciónelo a continuación. Sus configuraciones/permisos se almacenarán y aplicarán a los nuevos usuarios de Ombi creados por jfa-go cuando se seleccione este perfil.",
|
"ombiUserDefaultsDescription": "Cree un usuario Ombi y configúrelo, luego selecciónelo a continuación. Sus configuraciones/permisos se almacenarán y aplicarán a los nuevos usuarios de Ombi creados por jfa-go cuando se seleccione este perfil.",
|
||||||
"userProfiles": "Perfiles de usuario",
|
"userProfiles": "Perfiles de usuario",
|
||||||
"userProfilesDescription": "Los perfiles se aplican a los usuarios cuando crean una cuenta. Un perfil incluye los derechos de acceso a la biblioteca y el diseño de la pantalla de inicio.",
|
"userProfilesDescription": "Los perfiles se aplican a los usuarios cuando crean una cuenta. Un perfil incluye los derechos de acceso a la biblioteca y el diseño de la pantalla de inicio.",
|
||||||
"userProfilesIsDefault": "Defecto",
|
"userProfilesIsDefault": "Por defecto",
|
||||||
"userProfilesLibraries": "Bibliotecas",
|
"userProfilesLibraries": "Bibliotecas",
|
||||||
"addProfile": "Agregar perfil",
|
"addProfile": "Agregar Perfil",
|
||||||
"addProfileDescription": "Cree un usuario de Jellyfin y configúrelo, luego selecciónelo a continuación. Cuando este perfil se aplica a una invitación, se crearán nuevos usuarios con la configuración.",
|
"addProfileDescription": "Cree un usuario de Jellyfin y configúrelo, luego selecciónelo a continuación. Cuando este perfil se aplica a una invitación, se crearán nuevos usuarios con la configuración.",
|
||||||
"addProfileNameOf": "Nombre de perfil",
|
"addProfileNameOf": "Nombre de perfil",
|
||||||
"addProfileStoreHomescreenLayout": "Diseño de la pantalla de inicio de la tienda",
|
"addProfileStoreHomescreenLayout": "Guardar el diseño de la pantalla de inicio",
|
||||||
"inviteNoUsersCreated": "¡Ninguno todavía!",
|
"inviteNoUsersCreated": "¡Ninguno todavía!",
|
||||||
"inviteUsersCreated": "Usuarios creados",
|
"inviteUsersCreated": "Usuarios creados",
|
||||||
"inviteNoProfile": "Sin perfil",
|
"inviteNoProfile": "Sin perfil",
|
||||||
@ -93,24 +93,24 @@
|
|||||||
"notifyUserCreation": "Sobre la creación de usuarios",
|
"notifyUserCreation": "Sobre la creación de usuarios",
|
||||||
"conditionals": "Condicionales",
|
"conditionals": "Condicionales",
|
||||||
"donate": "Donar",
|
"donate": "Donar",
|
||||||
"add": "Añadir",
|
"add": "Agregar",
|
||||||
"templates": "Plantillas",
|
"templates": "Plantillas",
|
||||||
"contactThrough": "Contactar a través de:",
|
"contactThrough": "Contactar a través de:",
|
||||||
"select": "Seleccionar",
|
"select": "Seleccionar",
|
||||||
"sendPIN": "Pídale al usuario que envíe el PIN a continuación al bot.",
|
"sendPIN": "Pídale al usuario que envíe el PIN a continuación al bot.",
|
||||||
"searchDiscordUser": "Comienza a escribir el nombre de usuario de Discord para encontrar a la usuario.",
|
"searchDiscordUser": "Comienza a escribir el nombre de usuario de Discord para encontrar al usuario.",
|
||||||
"findDiscordUser": "Encontrar usuario de Discord",
|
"findDiscordUser": "Encontrar usuario de Discord",
|
||||||
"linkMatrixDescription": "Ingrese el nombre de usuario y la contraseña del usuario para usar como bot. Una vez enviada, la aplicación se reiniciará.",
|
"linkMatrixDescription": "Ingrese el nombre de usuario y la contraseña del usuario para usar como bot. Una vez enviada, la aplicación se reiniciará.",
|
||||||
"matrixHomeServer": "Dirección del servidor de inicio",
|
"matrixHomeServer": "Dirección del servidor de inicio",
|
||||||
"saveAsTemplate": "Guardar plantilla",
|
"saveAsTemplate": "Guardar como plantilla",
|
||||||
"deleteTemplate": "Eliminar plantilla",
|
"deleteTemplate": "Eliminar plantilla",
|
||||||
"templateEnterName": "Ingrese un nombre para guardar esta plantilla.",
|
"templateEnterName": "Ingrese un nombre para guardar esta plantilla.",
|
||||||
"setExpiry": "Establecer vencimiento",
|
"setExpiry": "Establecer vencimiento",
|
||||||
"sendPWR": "Enviar restablecimiento de contraseña",
|
"sendPWR": "Enviar restablecimiento de contraseña",
|
||||||
"sendPWRSuccess": "Se envió el enlace para restablecer la contraseña.",
|
"sendPWRSuccess": "Se envió el enlace para restablecer la contraseña.",
|
||||||
"sendPWRSuccessManual": "Si el usuario no lo ha recibido, presione copiar para obtener un enlace y enviárselo manualmente.",
|
"sendPWRSuccessManual": "Si el usuario no lo ha recibido, presione copiar para generar el enlace y enviárselo manualmente.",
|
||||||
"sendPWRValidFor": "El enlace es válido por 30m.",
|
"sendPWRValidFor": "El enlace es válido por 30m.",
|
||||||
"sendPWRManual": "El usuario {n} no tiene ningún método de contacto, presione copiar para obtener un enlace para enviarle.",
|
"sendPWRManual": "El usuario {n} no tiene ningún método de contacto, presione copiar para generar el enlace para enviarle.",
|
||||||
"ombiProfile": "Perfil de usuario de Ombi"
|
"ombiProfile": "Perfil de usuario de Ombi"
|
||||||
},
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
@ -125,7 +125,7 @@
|
|||||||
"errorConnection": "No se pudo conectar a jfa-go.",
|
"errorConnection": "No se pudo conectar a jfa-go.",
|
||||||
"error401Unauthorized": "No autorizado. Intente actualizar la página.",
|
"error401Unauthorized": "No autorizado. Intente actualizar la página.",
|
||||||
"errorSettingsAppliedNoHomescreenLayout": "Se aplicó la configuración, pero es posible que no se haya aplicado el diseño de la pantalla de inicio.",
|
"errorSettingsAppliedNoHomescreenLayout": "Se aplicó la configuración, pero es posible que no se haya aplicado el diseño de la pantalla de inicio.",
|
||||||
"errorHomescreenAppliedNoSettings": "Se aplicó el diseño de la pantalla de inicio, pero es posible que no se haya aplicado la configuración.",
|
"errorHomescreenAppliedNoSettings": "Se aplicó el diseño de la pantalla de inicio, pero es posible que la aplicación de la configuración haya fallado.",
|
||||||
"errorSettingsFailed": "La aplicación falló.",
|
"errorSettingsFailed": "La aplicación falló.",
|
||||||
"errorLoginBlank": "El nombre de usuario y/o la contraseña se dejaron en blanco.",
|
"errorLoginBlank": "El nombre de usuario y/o la contraseña se dejaron en blanco.",
|
||||||
"errorUnknown": "Error desconocido.",
|
"errorUnknown": "Error desconocido.",
|
||||||
@ -139,22 +139,22 @@
|
|||||||
"errorSaveSettings": "No se pudo guardar la configuración.",
|
"errorSaveSettings": "No se pudo guardar la configuración.",
|
||||||
"errorLoadSettings": "No se pudo cargar la configuración.",
|
"errorLoadSettings": "No se pudo cargar la configuración.",
|
||||||
"errorSetOmbiDefaults": "No se pudieron almacenar los valores predeterminados de ombi.",
|
"errorSetOmbiDefaults": "No se pudieron almacenar los valores predeterminados de ombi.",
|
||||||
"errorLoadOmbiUsers": "No se pudieron cargar los usuarios de ombi.",
|
"errorLoadOmbiUsers": "No se pudieron cargar los usuarios de Ombi.",
|
||||||
"errorChangedEmailAddress": "No se pudo cambiar la dirección de correo electrónico de {n}.",
|
"errorChangedEmailAddress": "No se pudo cambiar la dirección de correo electrónico de {n}.",
|
||||||
"errorFailureCheckLogs": "Fallido (ver consola / registros)",
|
"errorFailureCheckLogs": "Fallido (ver consola/registros)",
|
||||||
"errorPartialFailureCheckLogs": "Fallo parcial (ver consola / registros)",
|
"errorPartialFailureCheckLogs": "Fallo parcial (ver consola/registros)",
|
||||||
"errorUserCreated": "No se pudo crear el usuario {n}.",
|
"errorUserCreated": "No se pudo crear el usuario {n}.",
|
||||||
"errorSendWelcomeEmail": "No se pudo enviar el mensaje de bienvenida (verifique la consola / registros)",
|
"errorSendWelcomeEmail": "No se pudo enviar el mensaje de bienvenida (verifique la consola/registros)",
|
||||||
"errorApplyUpdate": "No se pudo aplicar la actualización, intente manualmente.",
|
"errorApplyUpdate": "No se pudo aplicar la actualización, intente manualmente.",
|
||||||
"errorCheckUpdate": "No se pudo comprobar la actualización.",
|
"errorCheckUpdate": "No se pudo comprobar la actualización.",
|
||||||
"updateAvailable": "Hay una nueva actualización disponible, verifique la configuración.",
|
"updateAvailable": "Hay una nueva actualización disponible, verifique la configuración.",
|
||||||
"noUpdatesAvailable": "No hay nuevas actualizaciones disponibles.",
|
"noUpdatesAvailable": "No hay nuevas actualizaciones disponibles.",
|
||||||
"updateAppliedRefresh": "Actualización aplicada, actualice.",
|
"updateAppliedRefresh": "Actualización aplicada, por favor actualice.",
|
||||||
"accountConnected": "Cuenta conectada.",
|
"accountConnected": "Cuenta vinculada.",
|
||||||
"savedAnnouncement": "Anuncio guardado.",
|
"savedAnnouncement": "Anuncio guardado.",
|
||||||
"telegramVerified": "Cuenta de Telegram verificada.",
|
"telegramVerified": "Cuenta de Telegram verificada.",
|
||||||
"setOmbiProfile": "Perfil de ombi almacenado.",
|
"setOmbiProfile": "Perfil de Ombi guardado.",
|
||||||
"errorSetOmbiProfile": "No se pudo almacenar el perfil de ombi."
|
"errorSetOmbiProfile": "No se pudo guardar el perfil de Ombi."
|
||||||
},
|
},
|
||||||
"quantityStrings": {
|
"quantityStrings": {
|
||||||
"modifySettingsFor": {
|
"modifySettingsFor": {
|
||||||
@ -166,8 +166,8 @@
|
|||||||
"plural": "Eliminar {n} usuarios"
|
"plural": "Eliminar {n} usuarios"
|
||||||
},
|
},
|
||||||
"disableUsers": {
|
"disableUsers": {
|
||||||
"singular": "Deshabilitar {n} usuario",
|
"singular": "Desactivar {n} usuario",
|
||||||
"plural": "Inhabilitar {n} usuarios"
|
"plural": "Desactivar {n} usuarios"
|
||||||
},
|
},
|
||||||
"reEnableUsers": {
|
"reEnableUsers": {
|
||||||
"singular": "Reactivar {n} usuario",
|
"singular": "Reactivar {n} usuario",
|
||||||
@ -182,32 +182,32 @@
|
|||||||
"plural": "Borrar usuarios"
|
"plural": "Borrar usuarios"
|
||||||
},
|
},
|
||||||
"deletedUser": {
|
"deletedUser": {
|
||||||
"singular": "Usuario eliminado {n}.",
|
"singular": "{n} usuario eliminado.",
|
||||||
"plural": "Usuarios eliminados {n}."
|
"plural": "{n} usuarios eliminados."
|
||||||
},
|
},
|
||||||
"disabledUser": {
|
"disabledUser": {
|
||||||
"singular": "Usuario deshabilitado {n}.",
|
"singular": "{n} usuario desactivado.",
|
||||||
"plural": "Usuarios deshabilitados {n}."
|
"plural": "{n} usuarios desactivados."
|
||||||
},
|
},
|
||||||
"enabledUser": {
|
"enabledUser": {
|
||||||
"singular": "Usuario {n} habilitado.",
|
"singular": "{n} usuario activado.",
|
||||||
"plural": "Usuarios {n} habilitados."
|
"plural": "{n} usuarios activados."
|
||||||
},
|
},
|
||||||
"announceTo": {
|
"announceTo": {
|
||||||
"singular": "Anunciar al usuario {n}",
|
"singular": "Anunciar a {n} usuario",
|
||||||
"plural": "Anunciar a los usuarios {n}"
|
"plural": "Anunciar a {n} usuarios"
|
||||||
},
|
},
|
||||||
"appliedSettings": {
|
"appliedSettings": {
|
||||||
"singular": "Se aplicó la configuración al usuario {n}.",
|
"singular": "Se aplicó la configuración a {n} usuario.",
|
||||||
"plural": "Se aplicó la configuración a los usuarios {n}."
|
"plural": "Se aplicó la configuración a {n} usuarios."
|
||||||
},
|
},
|
||||||
"extendExpiry": {
|
"extendExpiry": {
|
||||||
"singular": "Extender la expiración para el usuario {n}",
|
"singular": "Extender la expiración para {n} usuario",
|
||||||
"plural": "Extender la expiración para los usuarios {n}"
|
"plural": "Extender la expiración para {n} usuarios"
|
||||||
},
|
},
|
||||||
"extendedExpiry": {
|
"extendedExpiry": {
|
||||||
"singular": "Caducidad extendida para el usuario {n}.",
|
"singular": "Caducidad extendida para {n} usuario.",
|
||||||
"plural": "Caducidad extendida para los usuarios {n}."
|
"plural": "Caducidad extendida para {n} usuarios."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,13 +13,13 @@
|
|||||||
"error": "Error",
|
"error": "Error",
|
||||||
"copy": "Copiar",
|
"copy": "Copiar",
|
||||||
"copied": "Copiado",
|
"copied": "Copiado",
|
||||||
"time24h": "24 horas",
|
"time24h": "Formato de 24 horas",
|
||||||
"time12h": "12 horas",
|
"time12h": "Formato de 12 horas",
|
||||||
"theme": "Tema",
|
"theme": "Tema",
|
||||||
"send": "Enviar",
|
"send": "Enviar",
|
||||||
"contactDiscord": "Contacta a través de Discord",
|
"contactDiscord": "Contactar por Discord",
|
||||||
"contactEmail": "Contacta a través de email",
|
"contactEmail": "Contactar por correo electrónico",
|
||||||
"contactTelegram": "Contacta a través de Telegram",
|
"contactTelegram": "Contactar por Telegram",
|
||||||
"linkMatrix": "Enlace Matrix",
|
"linkMatrix": "Enlace Matrix",
|
||||||
"linkDiscord": "Enlace Discord",
|
"linkDiscord": "Enlace Discord",
|
||||||
"linkTelegram": "Enlace Telegram"
|
"linkTelegram": "Enlace Telegram"
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
},
|
},
|
||||||
"userCreated": {
|
"userCreated": {
|
||||||
"name": "Creación de usuarios",
|
"name": "Creación de usuarios",
|
||||||
"title": "Noticia: Usuario creado",
|
"title": "Aviso: Usuario creado",
|
||||||
"aUserWasCreated": "Se creó un usuario con el código {code}.",
|
"aUserWasCreated": "Se creó un usuario con el código {code}.",
|
||||||
"time": "Hora",
|
"time": "Hora",
|
||||||
"notificationNotice": "Nota: Los mensajes de notificación se pueden alternar en el panel de administración."
|
"notificationNotice": "Nota: Los mensajes de notificación se pueden alternar en el panel de administración."
|
||||||
@ -25,9 +25,9 @@
|
|||||||
"name": "Restablecimiento de contraseña",
|
"name": "Restablecimiento de contraseña",
|
||||||
"title": "Solicitud de restablecimiento de contraseña - Jellyfin",
|
"title": "Solicitud de restablecimiento de contraseña - Jellyfin",
|
||||||
"someoneHasRequestedReset": "Alguien ha solicitado recientemente un restablecimiento de contraseña en Jellyfin.",
|
"someoneHasRequestedReset": "Alguien ha solicitado recientemente un restablecimiento de contraseña en Jellyfin.",
|
||||||
"ifItWasYou": "Si era usted, ingrese el pin a continuación en el mensaje.",
|
"ifItWasYou": "Si era usted, ingrese el PIN a continuación en el mensaje.",
|
||||||
"ifItWasYouLink": "Si fue usted, haga clic en el enlace de abajo.",
|
"ifItWasYouLink": "Si fue usted, haga clic en el enlace de abajo.",
|
||||||
"codeExpiry": "El código vencerá el {date}, a las {time} UTC, que está en {expiresInMinutes}.",
|
"codeExpiry": "El código vencerá el {date}, a las {time} UTC, que es en {expiresInMinutes}.",
|
||||||
"pin": "PIN"
|
"pin": "PIN"
|
||||||
},
|
},
|
||||||
"userDeleted": {
|
"userDeleted": {
|
||||||
@ -36,23 +36,23 @@
|
|||||||
"yourAccountWasDeleted": "Su cuenta de Jellyfin fue eliminada."
|
"yourAccountWasDeleted": "Su cuenta de Jellyfin fue eliminada."
|
||||||
},
|
},
|
||||||
"userDisabled": {
|
"userDisabled": {
|
||||||
"name": "Usuario deshabilitado",
|
"name": "Usuario desactivado",
|
||||||
"title": "Su cuenta ha sido deshabilitada - Jellyfin",
|
"title": "Su cuenta ha sido desactivada - Jellyfin",
|
||||||
"yourAccountWasDisabled": "Su cuenta fue inhabilitada."
|
"yourAccountWasDisabled": "Su cuenta fue desactivada."
|
||||||
},
|
},
|
||||||
"userEnabled": {
|
"userEnabled": {
|
||||||
"name": "Usuario habilitado",
|
"name": "Usuario activado",
|
||||||
"title": "Su cuenta ha sido reactivada - Jellyfin",
|
"title": "Su cuenta ha sido reactivada - Jellyfin",
|
||||||
"yourAccountWasEnabled": "Su cuenta se volvió a habilitar."
|
"yourAccountWasEnabled": "Su cuenta fue reactivada."
|
||||||
},
|
},
|
||||||
"inviteEmail": {
|
"inviteEmail": {
|
||||||
"name": "Correo electrónico",
|
"name": "Invitar por correo electrónico",
|
||||||
"title": "Invitar - Jellyfin",
|
"title": "Invitación - Jellyfin",
|
||||||
"hello": "Hola",
|
"hello": "Hola",
|
||||||
"youHaveBeenInvited": "Has sido invitado a Jellyfin.",
|
"youHaveBeenInvited": "Has sido invitado a Jellyfin.",
|
||||||
"toJoin": "Para unirse, siga el enlace a continuación.",
|
"toJoin": "Para unirse, siga el enlace a continuación.",
|
||||||
"inviteExpiry": "Esta invitación vencerá el {date} a las {time}, que está en {expiresInMinutes}, así que regístrese cuanto antes.",
|
"inviteExpiry": "Esta invitación vencerá el {date} a las {time}, que es en {expiresInMinutes}, así que regístrese cuanto antes.",
|
||||||
"linkButton": "Configurar tu cuenta"
|
"linkButton": "Configura tu cuenta"
|
||||||
},
|
},
|
||||||
"welcomeEmail": {
|
"welcomeEmail": {
|
||||||
"name": "Bienvenido",
|
"name": "Bienvenido",
|
||||||
@ -66,12 +66,12 @@
|
|||||||
"name": "Email de confirmación",
|
"name": "Email de confirmación",
|
||||||
"title": "Confirma tu correo electrónico - Jellyfin",
|
"title": "Confirma tu correo electrónico - Jellyfin",
|
||||||
"clickBelow": "Haga clic en el enlace de abajo para confirmar su dirección de correo electrónico y comenzar a usar Jellyfin.",
|
"clickBelow": "Haga clic en el enlace de abajo para confirmar su dirección de correo electrónico y comenzar a usar Jellyfin.",
|
||||||
"confirmEmail": "Confirmar correo electrónico"
|
"confirmEmail": "Confirma el correo electrónico"
|
||||||
},
|
},
|
||||||
"userExpired": {
|
"userExpired": {
|
||||||
"name": "Caducidad del usuario",
|
"name": "Caducidad del usuario",
|
||||||
"title": "Tu cuenta ha caducado - Jellyfin",
|
"title": "Tu cuenta ha caducado - Jellyfin",
|
||||||
"yourAccountHasExpired": "Tu cuenta ha expirado.",
|
"yourAccountHasExpired": "Tu cuenta ha expirado.",
|
||||||
"contactTheAdmin": "Comuníquese con el administrador para obtener más información."
|
"contactTheAdmin": "Póngase en contacto con el administrador para obtener más información."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,19 +3,19 @@
|
|||||||
"name": "Español (ES)"
|
"name": "Español (ES)"
|
||||||
},
|
},
|
||||||
"strings": {
|
"strings": {
|
||||||
"pageTitle": "Crear cuenta en Jellyfin",
|
"pageTitle": "Crear cuenta de Jellyfin",
|
||||||
"createAccountHeader": "Crear una cuenta",
|
"createAccountHeader": "Crear una cuenta",
|
||||||
"accountDetails": "Detalles",
|
"accountDetails": "Detalles",
|
||||||
"emailAddress": "Correo electrónico",
|
"emailAddress": "Correo electrónico",
|
||||||
"username": "Nombre de usuario",
|
"username": "Nombre de usuario",
|
||||||
"password": "Contraseña",
|
"password": "Contraseña",
|
||||||
"reEnterPassword": "Rescriba su contraseña",
|
"reEnterPassword": "Confirme la contraseña",
|
||||||
"reEnterPasswordInvalid": "Las contraseñas no son coincidentes.",
|
"reEnterPasswordInvalid": "Las contraseñas no son similares.",
|
||||||
"createAccountButton": "Crear una cuenta",
|
"createAccountButton": "Crear una cuenta",
|
||||||
"passwordRequirementsHeader": "Requisitos de contraseña",
|
"passwordRequirementsHeader": "Requisitos de contraseña",
|
||||||
"successHeader": "¡Éxito!",
|
"successHeader": "¡Éxito!",
|
||||||
"confirmationRequired": "Se requiere confirmación por correo electrónico",
|
"confirmationRequired": "Se requiere confirmación por correo electrónico",
|
||||||
"confirmationRequiredMessage": "Revise la bandeja de entrada de su correo electrónico para verificar su dirección.",
|
"confirmationRequiredMessage": "Por favor, revise la bandeja de entrada de su correo electrónico para verificar su dirección.",
|
||||||
"yourAccountIsValidUntil": "Su cuenta será válida hasta el {date}.",
|
"yourAccountIsValidUntil": "Su cuenta será válida hasta el {date}.",
|
||||||
"sendPINDiscord": "Escribe {command} en {server_channel} en Discord, luego envía el PIN a continuación a través de DM al bot.",
|
"sendPINDiscord": "Escribe {command} en {server_channel} en Discord, luego envía el PIN a continuación a través de DM al bot.",
|
||||||
"sendPIN": "Envíe el PIN a continuación al bot, luego regrese aquí para vincular su cuenta.",
|
"sendPIN": "Envíe el PIN a continuación al bot, luego regrese aquí para vincular su cuenta.",
|
||||||
@ -23,13 +23,14 @@
|
|||||||
},
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
"errorUserExists": "El usuario ya existe.",
|
"errorUserExists": "El usuario ya existe.",
|
||||||
"errorInvalidCode": "Código de invitación no es válido.",
|
"errorInvalidCode": "Código de invitación no válido.",
|
||||||
"errorDiscordVerification": "Se requiere verificación de Discord.",
|
"errorDiscordVerification": "Se requiere verificación de Discord.",
|
||||||
"errorUnknown": "Error desconocido.",
|
"errorUnknown": "Error desconocido.",
|
||||||
"verified": "Cuenta verificada.",
|
"verified": "Cuenta verificada.",
|
||||||
"errorTelegramVerification": "Se requiere verificación de Telegram.",
|
"errorTelegramVerification": "Se requiere verificación de Telegram.",
|
||||||
"errorInvalidPIN": "PIN inválido.",
|
"errorInvalidPIN": "PIN inválido.",
|
||||||
"errorMatrixVerification": "Se requiere verificación de Matrix."
|
"errorMatrixVerification": "Se requiere verificación de Matrix.",
|
||||||
|
"errorNoEmail": "Correo electrónico requerido."
|
||||||
},
|
},
|
||||||
"validationStrings": {
|
"validationStrings": {
|
||||||
"length": {
|
"length": {
|
||||||
@ -37,11 +38,11 @@
|
|||||||
"plural": "Debe tener al menos {n} caracteres"
|
"plural": "Debe tener al menos {n} caracteres"
|
||||||
},
|
},
|
||||||
"uppercase": {
|
"uppercase": {
|
||||||
"singular": "Debe tener al menos {n} caracteres en mayúscula",
|
"singular": "Debe tener al menos {n} carácter en mayúscula",
|
||||||
"plural": "Debe tener al menos {n} caracteres en mayúscula"
|
"plural": "Debe tener al menos {n} caracteres en mayúscula"
|
||||||
},
|
},
|
||||||
"lowercase": {
|
"lowercase": {
|
||||||
"singular": "Debe tener al menos {n} caracteres en minúscula",
|
"singular": "Debe tener al menos {n} carácter en minúscula",
|
||||||
"plural": "Debe tener al menos {n} caracteres en minúscula"
|
"plural": "Debe tener al menos {n} caracteres en minúscula"
|
||||||
},
|
},
|
||||||
"number": {
|
"number": {
|
||||||
|
@ -52,6 +52,7 @@
|
|||||||
"errorDiscordVerification": "Discord-verificatie vereist.",
|
"errorDiscordVerification": "Discord-verificatie vereist.",
|
||||||
"errorUnknown": "Onbekende fout.",
|
"errorUnknown": "Onbekende fout.",
|
||||||
"errorMatrixVerification": "Matrix-verificatie vereist.",
|
"errorMatrixVerification": "Matrix-verificatie vereist.",
|
||||||
"verified": "Account geverifieerd."
|
"verified": "Account geverifieerd.",
|
||||||
|
"errorNoEmail": "E-mail vereist."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
"name": "Español (ES)"
|
"name": "Español (ES)"
|
||||||
},
|
},
|
||||||
"strings": {
|
"strings": {
|
||||||
"passwordReset": "Cambiar contraseña",
|
"passwordReset": "Restablecimiento de contraseña",
|
||||||
"resetFailed": "Error al cambiar contraseña",
|
"resetFailed": "Error al restablecer la contraseña",
|
||||||
"tryAgain": "Por favor intente nuevamente.",
|
"tryAgain": "Por favor, intente de nuevo.",
|
||||||
"youCanLogin": "Ahora puedes logearte con el codigo como contraseña.",
|
"youCanLogin": "Ahora puede iniciar sesión con el siguiente código como contraseña.",
|
||||||
"changeYourPassword": "Recuerda cambiar tu contraseña luego de iniciar sesión.",
|
"changeYourPassword": "Asegúrese de cambiar su contraseña después de iniciar sesión.",
|
||||||
"youCanLoginOmbi": "Ahora puede iniciar sesión en Jellyfin & Ombi con el siguiente código como contraseña.",
|
"youCanLoginOmbi": "Ahora puede iniciar sesión en Jellyfin & Ombi con el siguiente código como contraseña.",
|
||||||
"reset": "Reiniciar",
|
"reset": "Reiniciar",
|
||||||
"enterYourPassword": "Ingrese su nueva contraseña abajo.",
|
"enterYourPassword": "Ingrese su nueva contraseña abajo.",
|
||||||
|
@ -16,14 +16,14 @@
|
|||||||
"emailSubject": "Asunto",
|
"emailSubject": "Asunto",
|
||||||
"URL": "URL",
|
"URL": "URL",
|
||||||
"apiKey": "Llave de autorización (API)",
|
"apiKey": "Llave de autorización (API)",
|
||||||
"errorInvalidUserPass": "Usuario/contraseña inválida.",
|
"errorInvalidUserPass": "Usuario/contraseña inválido.",
|
||||||
"errorNotAdmin": "El usuario no tiene permitido administrar el servidor.",
|
"errorNotAdmin": "El usuario no tiene permitido administrar el servidor.",
|
||||||
"errorUserDisabled": "El usuario puede estar deshabilitado.",
|
"errorUserDisabled": "El usuario puede estar desactivado.",
|
||||||
"error404": "404, verifique la URL interna."
|
"error404": "404, verifique la URL interna."
|
||||||
},
|
},
|
||||||
"startPage": {
|
"startPage": {
|
||||||
"welcome": "¡Bienvenido!",
|
"welcome": "¡Bienvenido!",
|
||||||
"pressStart": "Deberá hacer algunas cosas para configurar jfa-go. Presione comenzar para continuar.",
|
"pressStart": "Tendrás que hacer algunas cosas para configurar jfa-go. Pulsa el botón de inicio para continuar.",
|
||||||
"httpsNotice": "Asegúrese de acceder a esta página a través de HTTPS o bien desde una red privada.",
|
"httpsNotice": "Asegúrese de acceder a esta página a través de HTTPS o bien desde una red privada.",
|
||||||
"start": "Empezar"
|
"start": "Empezar"
|
||||||
},
|
},
|
||||||
@ -41,8 +41,8 @@
|
|||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"title": "General",
|
"title": "General",
|
||||||
"listenAddress": "Dirección de recibidor (Listen Address)",
|
"listenAddress": "Dirección de escucha (Listen Address)",
|
||||||
"urlBase": "Base de URL",
|
"urlBase": "URL Base",
|
||||||
"urlBaseNotice": "Solo es necesario si se usa un proxy inverso en un subdominio (por ejemplo, 'jellyf.in/accounts').",
|
"urlBaseNotice": "Solo es necesario si se usa un proxy inverso en un subdominio (por ejemplo, 'jellyf.in/accounts').",
|
||||||
"lightTheme": "Claro",
|
"lightTheme": "Claro",
|
||||||
"darkTheme": "Oscuro",
|
"darkTheme": "Oscuro",
|
||||||
@ -55,7 +55,7 @@
|
|||||||
"updates": {
|
"updates": {
|
||||||
"title": "Actualizaciones",
|
"title": "Actualizaciones",
|
||||||
"description": "Habilite para recibir notificaciones cuando haya nuevas actualizaciones disponibles. jfa-go comprobará {n} cada 30 minutos. No se recopilan IP ni información de identificación personal.",
|
"description": "Habilite para recibir notificaciones cuando haya nuevas actualizaciones disponibles. jfa-go comprobará {n} cada 30 minutos. No se recopilan IP ni información de identificación personal.",
|
||||||
"updateChannel": "Actualizar canal",
|
"updateChannel": "Canal de actualización",
|
||||||
"stable": "Estable",
|
"stable": "Estable",
|
||||||
"unstable": "Inestable"
|
"unstable": "Inestable"
|
||||||
},
|
},
|
||||||
@ -79,7 +79,7 @@
|
|||||||
"testConnection": "Probar conexión"
|
"testConnection": "Probar conexión"
|
||||||
},
|
},
|
||||||
"ombi": {
|
"ombi": {
|
||||||
"title": "Ombi.",
|
"title": "Ombi",
|
||||||
"description": "Al conectarse a Ombi, se creará una cuenta de Jellyfin y Ombi cuando un usuario se una a través de jfa-go. Una vez finalizada la configuración, vaya a Configuración para establecer un perfil predeterminado para los nuevos usuarios de ombi.",
|
"description": "Al conectarse a Ombi, se creará una cuenta de Jellyfin y Ombi cuando un usuario se una a través de jfa-go. Una vez finalizada la configuración, vaya a Configuración para establecer un perfil predeterminado para los nuevos usuarios de ombi.",
|
||||||
"apiKeyNotice": "Encuentra esto en la primera pestaña de la configuración de Ombi."
|
"apiKeyNotice": "Encuentra esto en la primera pestaña de la configuración de Ombi."
|
||||||
},
|
},
|
||||||
|
@ -4,9 +4,9 @@
|
|||||||
},
|
},
|
||||||
"strings": {
|
"strings": {
|
||||||
"startMessage": "¡Hola!\nIntroduce tu código PIN de Jellyfin para verificar tu cuenta.",
|
"startMessage": "¡Hola!\nIntroduce tu código PIN de Jellyfin para verificar tu cuenta.",
|
||||||
"matrixStartMessage": "Hola,\nIntroduce el PIN de abajo para logarte en la página de Jellyfin y verificar tu cuenta.",
|
"matrixStartMessage": "Hola\nIngrese el PIN a continuación en la página de registro de Jellyfin para verificar su cuenta.",
|
||||||
"invalidPIN": "El PIN es inváido, inténtalo de nuevo.",
|
"invalidPIN": "Ese PIN no es válido, inténtalo de nuevo.",
|
||||||
"pinSuccess": "Ok! Ya puedes volver a la página de login.",
|
"pinSuccess": "¡Éxito! Ahora puedes volver a la página de registro.",
|
||||||
"languageMessage": "Nota: Ver los idiomas disponibles con {command}, y ajusta el idioma con {command} <language code>."
|
"languageMessage": "Nota: Revisa los idiomas disponibles con {command}, y establece el idioma con {command} <language code>."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,3 +11,7 @@ body {
|
|||||||
background: #AA5CC3;
|
background: #AA5CC3;
|
||||||
background: linear-gradient(90deg, #AA5CC3 0%, #00A4DC 100%) !important;
|
background: linear-gradient(90deg, #AA5CC3 0%, #00A4DC 100%) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.text-center {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
@ -94,7 +94,7 @@ sudo apt-get install jfa-go-tray
|
|||||||
</div>
|
</div>
|
||||||
<p class="row col flex center supra">downloads</p>
|
<p class="row col flex center supra">downloads</p>
|
||||||
<p class="row col flex center support">instructions can be found <a target="_blank" href="https://github.com/hrfee/jfa-go#install">here</a></p>
|
<p class="row col flex center support">instructions can be found <a target="_blank" href="https://github.com/hrfee/jfa-go#install">here</a></p>
|
||||||
<p class="row col flex center support">note: tray icon builds on linux require extra dependencies, see the github README for more info.</p>
|
<p class="row col flex center text-center support">note: tray icon builds should only be used on systems with a Desktop Interface, and require extra dependencies on linux, see the github README for more info.</p>
|
||||||
<div class="row col flex center">
|
<div class="row col flex center">
|
||||||
<span class="button ~neutral !high mr-1 mt-1" id="download-stable">Stable</span>
|
<span class="button ~neutral !high mr-1 mt-1" id="download-stable">Stable</span>
|
||||||
<span class="button ~neutral mt-1 mr-1" id="download-unstable">Unstable</span>
|
<span class="button ~neutral mt-1 mr-1" id="download-unstable">Unstable</span>
|
||||||
@ -112,7 +112,6 @@ sudo apt-get install jfa-go-tray
|
|||||||
<div class="mt-1 unfocused" id="sect-unstable">
|
<div class="mt-1 unfocused" id="sect-unstable">
|
||||||
<p class="row center">These are built on every commit, so may include incomplete/broken features. Take care.</p>
|
<p class="row center">These are built on every commit, so may include incomplete/broken features. Take care.</p>
|
||||||
<div class="row col flex center">
|
<div class="row col flex center">
|
||||||
<a class="button ~info mr-half mb-half lang-link" target="_blank" href="https://dl.jfa-go.com/view/hrfee/jfa-go">windows/mac/linux</a>
|
|
||||||
<a class="button ~info mr-half mb-half lang-link" id="download-docker-unstable">docker</a>
|
<a class="button ~info mr-half mb-half lang-link" id="download-docker-unstable">docker</a>
|
||||||
<a class="button ~info mr-half mb-half lang-link" id="download-deb-unstable">debian/ubuntu</a>
|
<a class="button ~info mr-half mb-half lang-link" id="download-deb-unstable">debian/ubuntu</a>
|
||||||
<a class="button ~info mr-half mb-half lang-link" target="_blank" href="https://aur.archlinux.org/packages/jfa-go-git">arch (aur git)</a>
|
<a class="button ~info mr-half mb-half lang-link" target="_blank" href="https://aur.archlinux.org/packages/jfa-go-git">arch (aur git)</a>
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import { Modal } from "../../ts/modules/modal.js";
|
import { Modal } from "../../ts/modules/modal.js";
|
||||||
import { whichAnimationEvent } from "../../ts/modules/common.js";
|
import { whichAnimationEvent } from "../../ts/modules/common.js";
|
||||||
|
import { loadBuilds } from "./repo.js";
|
||||||
|
|
||||||
interface window extends Window {
|
interface window extends Window {
|
||||||
animationEvent: string;
|
animationEvent: string;
|
||||||
@ -18,7 +19,7 @@ const debUnstableButton = document.getElementById("download-deb-unstable") as HT
|
|||||||
debUnstableButton.onclick = debModal.toggle;
|
debUnstableButton.onclick = debModal.toggle;
|
||||||
|
|
||||||
const stableSect = document.getElementById("sect-stable");
|
const stableSect = document.getElementById("sect-stable");
|
||||||
const unstableSect = document.getElementById("sect-unstable");
|
export const unstableSect = document.getElementById("sect-unstable");
|
||||||
|
|
||||||
const stableButton = document.getElementById("download-stable") as HTMLSpanElement;
|
const stableButton = document.getElementById("download-stable") as HTMLSpanElement;
|
||||||
const unstableButton = document.getElementById("download-unstable") as HTMLSpanElement;
|
const unstableButton = document.getElementById("download-unstable") as HTMLSpanElement;
|
||||||
@ -51,4 +52,4 @@ const dockerUnstableButton = document.getElementById("download-docker-unstable")
|
|||||||
dockerButton.onclick = dockerModal.toggle;
|
dockerButton.onclick = dockerModal.toggle;
|
||||||
dockerUnstableButton.onclick = dockerModal.toggle;
|
dockerUnstableButton.onclick = dockerModal.toggle;
|
||||||
|
|
||||||
|
loadBuilds();
|
||||||
|
57
site/ts/repo.ts
Normal file
57
site/ts/repo.ts
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
import { _get, _post, _delete } from "../../ts/modules/common.js";
|
||||||
|
import { unstableSect } from "./main.js";
|
||||||
|
|
||||||
|
const urlBase = "https://builds.hrfee.pw/repo/hrfee/jfa-go/latest/file/";
|
||||||
|
const categories = {
|
||||||
|
"Windows (Tray)": {
|
||||||
|
"x64": "Windows"
|
||||||
|
},
|
||||||
|
"Linux (Tray)": {
|
||||||
|
"x64": "TrayIcon_Linux_x86_64.zip"
|
||||||
|
},
|
||||||
|
"Linux": {
|
||||||
|
"x64": "Linux_x86_64.zip",
|
||||||
|
"ARM (32-bit)": "Linux_arm.zip",
|
||||||
|
"ARM (64-bit)": "Linux_arm64.zip"
|
||||||
|
},
|
||||||
|
"macOS": {
|
||||||
|
"x64": "macOS_x86_64",
|
||||||
|
"ARM": "macOS_arm64"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const loadBuilds = () => {
|
||||||
|
for (let buildName in categories) {
|
||||||
|
if (Object.keys(categories[buildName]).length == 1) {
|
||||||
|
const button = document.createElement("a") as HTMLAnchorElement;
|
||||||
|
button.classList.add("button", "~info", "mr-half", "mb-half", "lang-link");
|
||||||
|
button.target = "_blank";
|
||||||
|
button.textContent = buildName.toLowerCase();
|
||||||
|
button.href = urlBase + categories[buildName][Object.keys(categories[buildName])[0]];
|
||||||
|
unstableSect.querySelector(".row.col.flex.center").appendChild(button);
|
||||||
|
} else {
|
||||||
|
const dropdown = document.createElement("span") as HTMLSpanElement;
|
||||||
|
dropdown.tabIndex = 0;
|
||||||
|
dropdown.classList.add("dropdown");
|
||||||
|
let innerHTML = `
|
||||||
|
<span class="button ~info mr-half mb-half lang-link">
|
||||||
|
${buildName.toLowerCase()}
|
||||||
|
<span class="ml-half chev"></span>
|
||||||
|
</span>
|
||||||
|
<div class="dropdown-display above">
|
||||||
|
<div class="card ~info !low">
|
||||||
|
`;
|
||||||
|
for (let arch in categories[buildName]) {
|
||||||
|
innerHTML += `
|
||||||
|
<a href="${urlBase + categories[buildName][arch]}" target="_blank" class="button input ~neutral field mb-half lang-link">${arch}</a>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
innerHTML += `
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
dropdown.innerHTML = innerHTML;
|
||||||
|
unstableSect.querySelector(".row.col.flex.center").appendChild(dropdown);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user