1
0
mirror of https://github.com/hrfee/jfa-go.git synced 2024-11-09 20:00:12 +00:00

Compare commits

...

10 Commits

Author SHA1 Message Date
07de4e5015
build: include systemd service 2021-12-29 23:29:34 +00:00
57e6469564
site: add direct links to unstable builds
Links to build types and architectures are now included in the unstable
download section.
2021-12-29 22:33:07 +00:00
roand0617
cd2c37057d Translated using Weblate (Spanish)
Currently translated at 100.0% (109 of 109 strings)

Translation: jfa-go/Setup
Translate-URL: https://weblate.jfa-go.com/projects/jfa-go/setup/es/
2021-12-28 00:56:15 +01:00
roand0617
a35ca762e3 Translated using Weblate (Spanish)
Currently translated at 100.0% (6 of 6 strings)

Translation: jfa-go/Telegram/Matrix/Discord bots
Translate-URL: https://weblate.jfa-go.com/projects/jfa-go/chat-bots/es/
2021-12-26 01:56:16 +01:00
roand0617
fd10b2600f Translated using Weblate (Spanish)
Currently translated at 100.0% (10 of 10 strings)

Translation: jfa-go/Password Reset Links
Translate-URL: https://weblate.jfa-go.com/projects/jfa-go/password-reset-links/es/
2021-12-26 01:56:16 +01:00
roand0617
1384091d95 Translated using Weblate (Spanish)
Currently translated at 100.0% (51 of 51 strings)

Translation: jfa-go/Emails
Translate-URL: https://weblate.jfa-go.com/projects/jfa-go/emails/es/
2021-12-26 01:56:16 +01:00
roand0617
ca29ea2d46 translation from Weblate (Spanish)
Currently translated at 100.0% (174 of 174 strings)

Translation: jfa-go/Admin Page
Translate-URL: https://weblate.jfa-go.com/projects/jfa-go/admin/es/
2021-12-26 01:56:16 +01:00
roand0617
d8c9ae4ff6 Translated using Weblate (Spanish)
Currently translated at 100.0% (21 of 21 strings)

Translation: jfa-go/Common Strings
Translate-URL: https://weblate.jfa-go.com/projects/jfa-go/common-strings/es/
2021-12-26 01:56:15 +01:00
roand0617
4403ea8e18 translation from Weblate (Spanish)
Currently translated at 100.0% (37 of 37 strings)

Translation: jfa-go/Account Creation Form
Translate-URL: https://weblate.jfa-go.com/projects/jfa-go/form/es/
2021-12-26 01:56:15 +01:00
Richard de Boer
528829ffda translation from Weblate (Dutch)
Currently translated at 100.0% (37 of 37 strings)

Translation: jfa-go/Account Creation Form
Translate-URL: https://weblate.jfa-go.com/projects/jfa-go/form/nl/
2021-12-26 01:56:15 +01:00
14 changed files with 158 additions and 89 deletions

View File

@ -18,6 +18,7 @@ before:
- cp -r html data/
- cp -r lang 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/generate_ini.py -i config/config-base.json -o data/config-default.ini
- python3 scripts/compile_mjml.py -o data/

View File

@ -451,6 +451,11 @@ p.top {
white-space: nowrap;
}
.dropdown-display.above {
top: auto;
bottom: 115%;
}
pre {
white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */

View File

@ -13,7 +13,7 @@
"inviteNumberOfUses": "Números de usos",
"inviteDuration": "Duración de invitación",
"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",
"login": "Acceso",
"logout": "Cerrar sesión",
@ -37,10 +37,10 @@
"user": "Usuario",
"expiry": "Expiración",
"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",
"version": "Versión",
"commitNoun": "Cometer",
"commitNoun": "Revisión",
"newUser": "Nuevo usuario",
"profile": "Perfil",
"unknown": "Desconocido",
@ -49,24 +49,24 @@
"subject": "Asunto del email",
"message": "Mensaje",
"variables": "Variables",
"preview": "Previsualizar",
"preview": "Vista previa",
"reset": "Reiniciar",
"edit": "Editar",
"extendExpiry": "Extender el vencimiento",
"customizeMessages": "Personalizar emails",
"customizeMessagesDescription": "Si no desea utilizar las plantillas de correo electrónico de jfa-go, puede crear las suyas propias con Markdown.",
"customizeMessages": "Personalizar mensajes",
"customizeMessagesDescription": "Si no desea utilizar las plantillas de mensajes de jfa-go, puede crear las suyas con Markdown.",
"markdownSupported": "Se admite Markdown.",
"modifySettings": "Modificar configuración",
"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",
"sendDeleteNotificationEmail": "Enviar notificación a correo",
"sendDeleteNotificationEmail": "Enviar mensaje de notificación",
"sendDeleteNotifiationExample": "Tu cuenta ha sido eliminada.",
"settingsRestart": "Reiniciar",
"settingsRestarting": "Reiniciando…",
"settingsRestartRequired": "Reinicio necesario",
"settingsRestartRequiredDescription": "Es necesario reiniciar para aplicar algunas configuraciones que cambió. ¿Reiniciar ahora o 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.",
"settingsRefreshPage": "Actualiza la página en unos segundos.",
"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.",
"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.",
"userProfilesIsDefault": "Defecto",
"userProfilesIsDefault": "Por defecto",
"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.",
"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!",
"inviteUsersCreated": "Usuarios creados",
"inviteNoProfile": "Sin perfil",
@ -93,24 +93,24 @@
"notifyUserCreation": "Sobre la creación de usuarios",
"conditionals": "Condicionales",
"donate": "Donar",
"add": "Añadir",
"add": "Agregar",
"templates": "Plantillas",
"contactThrough": "Contactar a través de:",
"select": "Seleccionar",
"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",
"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",
"saveAsTemplate": "Guardar plantilla",
"saveAsTemplate": "Guardar como plantilla",
"deleteTemplate": "Eliminar plantilla",
"templateEnterName": "Ingrese un nombre para guardar esta plantilla.",
"setExpiry": "Establecer vencimiento",
"sendPWR": "Enviar restablecimiento de 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.",
"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"
},
"notifications": {
@ -125,7 +125,7 @@
"errorConnection": "No se pudo conectar a jfa-go.",
"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.",
"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ó.",
"errorLoginBlank": "El nombre de usuario y/o la contraseña se dejaron en blanco.",
"errorUnknown": "Error desconocido.",
@ -139,22 +139,22 @@
"errorSaveSettings": "No se pudo guardar la configuración.",
"errorLoadSettings": "No se pudo cargar la configuración.",
"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}.",
"errorFailureCheckLogs": "Fallido (ver consola / registros)",
"errorPartialFailureCheckLogs": "Fallo parcial (ver consola / registros)",
"errorFailureCheckLogs": "Fallido (ver consola/registros)",
"errorPartialFailureCheckLogs": "Fallo parcial (ver consola/registros)",
"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.",
"errorCheckUpdate": "No se pudo comprobar la actualización.",
"updateAvailable": "Hay una nueva actualización disponible, verifique la configuración.",
"noUpdatesAvailable": "No hay nuevas actualizaciones disponibles.",
"updateAppliedRefresh": "Actualización aplicada, actualice.",
"accountConnected": "Cuenta conectada.",
"updateAppliedRefresh": "Actualización aplicada, por favor actualice.",
"accountConnected": "Cuenta vinculada.",
"savedAnnouncement": "Anuncio guardado.",
"telegramVerified": "Cuenta de Telegram verificada.",
"setOmbiProfile": "Perfil de ombi almacenado.",
"errorSetOmbiProfile": "No se pudo almacenar el perfil de ombi."
"setOmbiProfile": "Perfil de Ombi guardado.",
"errorSetOmbiProfile": "No se pudo guardar el perfil de Ombi."
},
"quantityStrings": {
"modifySettingsFor": {
@ -166,8 +166,8 @@
"plural": "Eliminar {n} usuarios"
},
"disableUsers": {
"singular": "Deshabilitar {n} usuario",
"plural": "Inhabilitar {n} usuarios"
"singular": "Desactivar {n} usuario",
"plural": "Desactivar {n} usuarios"
},
"reEnableUsers": {
"singular": "Reactivar {n} usuario",
@ -182,32 +182,32 @@
"plural": "Borrar usuarios"
},
"deletedUser": {
"singular": "Usuario eliminado {n}.",
"plural": "Usuarios eliminados {n}."
"singular": "{n} usuario eliminado.",
"plural": "{n} usuarios eliminados."
},
"disabledUser": {
"singular": "Usuario deshabilitado {n}.",
"plural": "Usuarios deshabilitados {n}."
"singular": "{n} usuario desactivado.",
"plural": "{n} usuarios desactivados."
},
"enabledUser": {
"singular": "Usuario {n} habilitado.",
"plural": "Usuarios {n} habilitados."
"singular": "{n} usuario activado.",
"plural": "{n} usuarios activados."
},
"announceTo": {
"singular": "Anunciar al usuario {n}",
"plural": "Anunciar a los usuarios {n}"
"singular": "Anunciar a {n} usuario",
"plural": "Anunciar a {n} usuarios"
},
"appliedSettings": {
"singular": "Se aplicó la configuración al usuario {n}.",
"plural": "Se aplicó la configuración a los usuarios {n}."
"singular": "Se aplicó la configuración a {n} usuario.",
"plural": "Se aplicó la configuración a {n} usuarios."
},
"extendExpiry": {
"singular": "Extender la expiración para el usuario {n}",
"plural": "Extender la expiración para los usuarios {n}"
"singular": "Extender la expiración para {n} usuario",
"plural": "Extender la expiración para {n} usuarios"
},
"extendedExpiry": {
"singular": "Caducidad extendida para el usuario {n}.",
"plural": "Caducidad extendida para los usuarios {n}."
"singular": "Caducidad extendida para {n} usuario.",
"plural": "Caducidad extendida para {n} usuarios."
}
}
}

View File

@ -13,13 +13,13 @@
"error": "Error",
"copy": "Copiar",
"copied": "Copiado",
"time24h": "24 horas",
"time12h": "12 horas",
"time24h": "Formato de 24 horas",
"time12h": "Formato de 12 horas",
"theme": "Tema",
"send": "Enviar",
"contactDiscord": "Contacta a través de Discord",
"contactEmail": "Contacta a través de email",
"contactTelegram": "Contacta a través de Telegram",
"contactDiscord": "Contactar por Discord",
"contactEmail": "Contactar por correo electrónico",
"contactTelegram": "Contactar por Telegram",
"linkMatrix": "Enlace Matrix",
"linkDiscord": "Enlace Discord",
"linkTelegram": "Enlace Telegram"

View File

@ -9,7 +9,7 @@
},
"userCreated": {
"name": "Creación de usuarios",
"title": "Noticia: Usuario creado",
"title": "Aviso: Usuario creado",
"aUserWasCreated": "Se creó un usuario con el código {code}.",
"time": "Hora",
"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",
"title": "Solicitud de restablecimiento de contraseña - 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.",
"codeExpiry": "El código vencerá el {date}, a las {time} UTC, que es en {expiresInMinutes}.",
"codeExpiry": "El código vencerá el {date}, a las {time} UTC, que es en {expiresInMinutes}.",
"pin": "PIN"
},
"userDeleted": {
@ -36,23 +36,23 @@
"yourAccountWasDeleted": "Su cuenta de Jellyfin fue eliminada."
},
"userDisabled": {
"name": "Usuario deshabilitado",
"title": "Su cuenta ha sido deshabilitada - Jellyfin",
"yourAccountWasDisabled": "Su cuenta fue inhabilitada."
"name": "Usuario desactivado",
"title": "Su cuenta ha sido desactivada - Jellyfin",
"yourAccountWasDisabled": "Su cuenta fue desactivada."
},
"userEnabled": {
"name": "Usuario habilitado",
"name": "Usuario activado",
"title": "Su cuenta ha sido reactivada - Jellyfin",
"yourAccountWasEnabled": "Su cuenta se volvió a habilitar."
"yourAccountWasEnabled": "Su cuenta fue reactivada."
},
"inviteEmail": {
"name": "Correo electrónico",
"title": "Invitar - Jellyfin",
"name": "Invitar por correo electrónico",
"title": "Invitación - Jellyfin",
"hello": "Hola",
"youHaveBeenInvited": "Has sido invitado a Jellyfin.",
"toJoin": "Para unirse, siga el enlace a continuación.",
"inviteExpiry": "Esta invitación vencerá el {date} a las {time}, que es en {expiresInMinutes}, así que regístrese cuanto antes.",
"linkButton": "Configurar tu cuenta"
"inviteExpiry": "Esta invitación vencerá el {date} a las {time}, que es en {expiresInMinutes}, así que regístrese cuanto antes.",
"linkButton": "Configura tu cuenta"
},
"welcomeEmail": {
"name": "Bienvenido",
@ -66,12 +66,12 @@
"name": "Email de confirmación",
"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.",
"confirmEmail": "Confirmar correo electrónico"
"confirmEmail": "Confirma el correo electrónico"
},
"userExpired": {
"name": "Caducidad del usuario",
"title": "Tu cuenta ha caducado - Jellyfin",
"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."
}
}

View File

@ -3,19 +3,19 @@
"name": "Español (ES)"
},
"strings": {
"pageTitle": "Crear cuenta en Jellyfin",
"pageTitle": "Crear cuenta de Jellyfin",
"createAccountHeader": "Crear una cuenta",
"accountDetails": "Detalles",
"emailAddress": "Correo electrónico",
"username": "Nombre de usuario",
"password": "Contraseña",
"reEnterPassword": "Rescriba su contraseña",
"reEnterPasswordInvalid": "Las contraseñas no son coincidentes.",
"reEnterPassword": "Confirme la contraseña",
"reEnterPasswordInvalid": "Las contraseñas no son similares.",
"createAccountButton": "Crear una cuenta",
"passwordRequirementsHeader": "Requisitos de contraseña",
"successHeader": "¡Éxito!",
"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}.",
"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.",
@ -23,13 +23,14 @@
},
"notifications": {
"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.",
"errorUnknown": "Error desconocido.",
"verified": "Cuenta verificada.",
"errorTelegramVerification": "Se requiere verificación de Telegram.",
"errorInvalidPIN": "PIN inválido.",
"errorMatrixVerification": "Se requiere verificación de Matrix."
"errorMatrixVerification": "Se requiere verificación de Matrix.",
"errorNoEmail": "Correo electrónico requerido."
},
"validationStrings": {
"length": {
@ -37,11 +38,11 @@
"plural": "Debe tener al menos {n} caracteres"
},
"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"
},
"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"
},
"number": {

View File

@ -52,6 +52,7 @@
"errorDiscordVerification": "Discord-verificatie vereist.",
"errorUnknown": "Onbekende fout.",
"errorMatrixVerification": "Matrix-verificatie vereist.",
"verified": "Account geverifieerd."
"verified": "Account geverifieerd.",
"errorNoEmail": "E-mail vereist."
}
}

View File

@ -3,11 +3,11 @@
"name": "Español (ES)"
},
"strings": {
"passwordReset": "Cambiar contraseña",
"resetFailed": "Error al cambiar contraseña",
"tryAgain": "Por favor intente nuevamente.",
"youCanLogin": "Ahora puedes logearte con el codigo como contraseña.",
"changeYourPassword": "Recuerda cambiar tu contraseña luego de iniciar sesión.",
"passwordReset": "Restablecimiento de contraseña",
"resetFailed": "Error al restablecer la contraseña",
"tryAgain": "Por favor, intente de nuevo.",
"youCanLogin": "Ahora puede iniciar sesión con el siguiente código como contraseña.",
"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.",
"reset": "Reiniciar",
"enterYourPassword": "Ingrese su nueva contraseña abajo.",

View File

@ -16,14 +16,14 @@
"emailSubject": "Asunto",
"URL": "URL",
"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.",
"errorUserDisabled": "El usuario puede estar deshabilitado.",
"errorUserDisabled": "El usuario puede estar desactivado.",
"error404": "404, verifique la URL interna."
},
"startPage": {
"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.",
"start": "Empezar"
},
@ -41,8 +41,8 @@
},
"general": {
"title": "General",
"listenAddress": "Dirección de recibidor (Listen Address)",
"urlBase": "Base de URL",
"listenAddress": "Dirección de escucha (Listen Address)",
"urlBase": "URL Base",
"urlBaseNotice": "Solo es necesario si se usa un proxy inverso en un subdominio (por ejemplo, 'jellyf.in/accounts').",
"lightTheme": "Claro",
"darkTheme": "Oscuro",
@ -55,7 +55,7 @@
"updates": {
"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.",
"updateChannel": "Actualizar canal",
"updateChannel": "Canal de actualización",
"stable": "Estable",
"unstable": "Inestable"
},
@ -79,7 +79,7 @@
"testConnection": "Probar conexión"
},
"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.",
"apiKeyNotice": "Encuentra esto en la primera pestaña de la configuración de Ombi."
},

View File

@ -4,9 +4,9 @@
},
"strings": {
"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.",
"invalidPIN": "El PIN es inváido, inténtalo de nuevo.",
"pinSuccess": "Ok! Ya puedes volver a la página de login.",
"languageMessage": "Nota: Ver los idiomas disponibles con {command}, y ajusta el idioma con {command} <language code>."
"matrixStartMessage": "Hola\nIngrese el PIN a continuación en la página de registro de Jellyfin para verificar su cuenta.",
"invalidPIN": "Ese PIN no es válido, inténtalo de nuevo.",
"pinSuccess": "¡Éxito! Ahora puedes volver a la página de registro.",
"languageMessage": "Nota: Revisa los idiomas disponibles con {command}, y establece el idioma con {command} <language code>."
}
}

View File

@ -11,3 +11,7 @@ body {
background: #AA5CC3;
background: linear-gradient(90deg, #AA5CC3 0%, #00A4DC 100%) !important;
}
.text-center {
text-align: center;
}

View File

@ -94,7 +94,7 @@ sudo apt-get install jfa-go-tray
</div>
<p class="row col flex center supra">downloads</p>
<p class="row col flex center support">instructions can be found&nbsp<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">
<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>
@ -112,7 +112,6 @@ sudo apt-get install jfa-go-tray
<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>
<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-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>

View File

@ -1,5 +1,6 @@
import { Modal } from "../../ts/modules/modal.js";
import { whichAnimationEvent } from "../../ts/modules/common.js";
import { loadBuilds } from "./repo.js";
interface window extends Window {
animationEvent: string;
@ -18,7 +19,7 @@ const debUnstableButton = document.getElementById("download-deb-unstable") as HT
debUnstableButton.onclick = debModal.toggle;
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 unstableButton = document.getElementById("download-unstable") as HTMLSpanElement;
@ -51,4 +52,4 @@ const dockerUnstableButton = document.getElementById("download-docker-unstable")
dockerButton.onclick = dockerModal.toggle;
dockerUnstableButton.onclick = dockerModal.toggle;
loadBuilds();

57
site/ts/repo.ts Normal file
View 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);
}
}
};