Merge branch 'develop' into feat/2091-improve-visuals
This commit is contained in:
commit
75e1e91786
|
@ -175,7 +175,7 @@ lint_api:
|
|||
- if: $CI_COMMIT_BRANCH =~ /(stable|develop)/
|
||||
- changes: [api/**/*]
|
||||
|
||||
image: $CI_REGISTRY/funkwhale/ci/python-funkwhale-api:3.11
|
||||
image: $CI_REGISTRY/funkwhale/ci/python-funkwhale-api:3.13
|
||||
cache: *api_cache
|
||||
before_script:
|
||||
- cd api
|
||||
|
@ -339,7 +339,7 @@ build_api_schema:
|
|||
# Add build_docs rules because it depends on the build_api_schema artifact
|
||||
- changes: [docs/**/*]
|
||||
|
||||
image: $CI_REGISTRY/funkwhale/ci/python-funkwhale-api:3.11
|
||||
image: $CI_REGISTRY/funkwhale/ci/python-funkwhale-api:3.13
|
||||
services:
|
||||
- postgres:15-alpine
|
||||
- redis:7-alpine
|
||||
|
@ -357,6 +357,11 @@ build_api_schema:
|
|||
- poetry run funkwhale-manage migrate
|
||||
script:
|
||||
- poetry run funkwhale-manage spectacular --file ../docs/schema.yml
|
||||
- diff ../docs/schema.yml ./funkwhale_api/common/schema.yml || (
|
||||
echo "Schema files do not match! run sudo docker compose run --rm
|
||||
api funkwhale-manage spectacular > ./api/funkwhale_api/common/schema.yml" &&
|
||||
exit 1
|
||||
)
|
||||
artifacts:
|
||||
expire_in: 2 weeks
|
||||
paths:
|
||||
|
|
|
@ -6,7 +6,8 @@ repos:
|
|||
rev: v4.4.0
|
||||
hooks:
|
||||
- id: check-added-large-files
|
||||
args: ['--maxkb=1000']
|
||||
exclude: 'api/funkwhale_api/common/schema.yml'
|
||||
|
||||
- id: check-case-conflict
|
||||
- id: check-executables-have-shebangs
|
||||
- id: check-shebang-scripts-are-executable
|
||||
|
@ -63,6 +64,7 @@ repos:
|
|||
hooks:
|
||||
- id: prettier
|
||||
files: \.(md|yml|yaml|json)$
|
||||
exclude: 'api/funkwhale_api/common/schema.yml'
|
||||
|
||||
- repo: https://github.com/codespell-project/codespell
|
||||
rev: v2.2.6
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,7 @@
|
|||
# OpenApi schema
|
||||
|
||||
The frontend need up to date schemas ! If you change the api you need to upgrade the schema by running : `docker compose run --rm api funkwhale-manage spectacular > ./api/funkwhale_api/common/schema.yml`.
|
||||
|
||||
Then you need to upgrade the frontend schema has well by running `yarn generate-types-from-local-schema`.
|
||||
|
||||
Be aware that `get_signup_form_additional_fields_serializer` can tweak the schema generation.
|
|
@ -2802,7 +2802,11 @@
|
|||
"libraryAcceptFollow": "{ username } ha acceptat el seguiment de la biblioteca \"{ library }\"",
|
||||
"libraryFollow": "{ username } ha seguit la teva biblioteca \"{ library }\"",
|
||||
"libraryPendingFollow": "{ username } vol seguir la teva biblioteca \"{ library }\"",
|
||||
"libraryReject": "Has rebutjat la petició de {username} per seguir \"{library}\""
|
||||
"libraryReject": "Has rebutjat la petició de {username} per seguir \"{library}\"",
|
||||
"userAcceptFollow": "{username} ha acceptat que el seguiu",
|
||||
"userFollow": "{username} et segueix",
|
||||
"userPendingFollow": "{username} vol seguir-vos",
|
||||
"userReject": "Heu rebutjat la sol·licitud de {username} per seguir-vos"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -2865,6 +2869,19 @@
|
|||
"name": "La meva impressionant llista de reproducció"
|
||||
}
|
||||
},
|
||||
"PlaylistDropdown": {
|
||||
"button": {
|
||||
"export": {
|
||||
"description": "Això proporcionarà un fitxer xspf amb les dades de la llista de reproducció",
|
||||
"header": "Descàrrega la llista de reproducció"
|
||||
},
|
||||
"import": {
|
||||
"description": "Això actualitzarà la llista de reproducció amb el contingut del fitxer xspf. Se suprimiran les pistes existents a la llista de reproducció",
|
||||
"header": "Reconstrueix la llista de reproducció"
|
||||
}
|
||||
},
|
||||
"more": "Més"
|
||||
},
|
||||
"PlaylistModal": {
|
||||
"button": {
|
||||
"addDuplicate": "Afegeix de totes maneres",
|
||||
|
@ -3395,6 +3412,7 @@
|
|||
"moderation": "Moderació",
|
||||
"music": "Música",
|
||||
"playlists": "Llistes de reproducció",
|
||||
"qualityFilters": "Explora els filtres de qualitat de la pàgina",
|
||||
"sections": "Seccions",
|
||||
"security": "Seguretat",
|
||||
"settings": "Paràmetres de la instància",
|
||||
|
@ -4412,7 +4430,7 @@
|
|||
},
|
||||
"meta": {
|
||||
"failedTracks": "Pistes fallides: {tracks}",
|
||||
"lastUpdate": "Última actualització: · ",
|
||||
"lastUpdate": "Última actualització:",
|
||||
"tracks": "{ n } pista | { n } pistes"
|
||||
},
|
||||
"modal": {
|
||||
|
|
|
@ -395,7 +395,8 @@
|
|||
"help": {
|
||||
"discography": "Publica la música que haces como una bonita discografía de álbumes y sencillos.",
|
||||
"podcast": "Aloja tus episodios y mantén a tu comunidad actualizada.",
|
||||
"podcastFields": "Usado para el campo itunes:email y itunes:name requerido por ciertas plataformas como Spotify o iTunes"
|
||||
"podcastFields": "Usado para el campo itunes:email y itunes:name requerido por ciertas plataformas como Spotify o iTunes",
|
||||
"username": "Usado en URL y para seguir este canal en el Fediverso. No puede ser cambiado luego."
|
||||
},
|
||||
"label": {
|
||||
"category": "Categoría",
|
||||
|
@ -407,8 +408,13 @@
|
|||
"name": "Nombre",
|
||||
"owner": "Propietario",
|
||||
"podcast": "Podcasts",
|
||||
"subcategory": "Subcategoría",
|
||||
"tags": "Etiquetas",
|
||||
"username": "Manejo de Fediverse"
|
||||
},
|
||||
"legend": {
|
||||
"purpose": "¿Para qué será usado este canal?"
|
||||
},
|
||||
"loader": {
|
||||
"loading": "Subiendo"
|
||||
},
|
||||
|
@ -454,6 +460,9 @@
|
|||
},
|
||||
"message": {
|
||||
"copy": "¡Texto copiado al portapapeles!"
|
||||
},
|
||||
"warning": {
|
||||
"anonymous": "Compartir no funcionará porque esta manada no permite a los usuarios anónimos acceder al contenido."
|
||||
}
|
||||
},
|
||||
"LibraryFollowButton": {
|
||||
|
@ -477,6 +486,7 @@
|
|||
"playPlaylist": "Vaciar lista de reproducción",
|
||||
"playTrack": "Reproducir canción",
|
||||
"playTracks": "Reproducir canción",
|
||||
"report": "Reportar…",
|
||||
"startRadio": "Reproducir canciones similares",
|
||||
"trackDetails": "Detalles"
|
||||
},
|
||||
|
@ -506,7 +516,17 @@
|
|||
"unmute": "Activar sonido"
|
||||
},
|
||||
"meta": {
|
||||
"position": "{ index } de { length }"
|
||||
"position": "{ index } de { length }",
|
||||
"unknownAlbum": "Álbum desconocido",
|
||||
"unknownArtist": "Artista desconocido"
|
||||
}
|
||||
},
|
||||
"PlayerControls": {
|
||||
"labels": {
|
||||
"next": "Pista siguiente",
|
||||
"pause": "Pausa",
|
||||
"play": "Reproducir",
|
||||
"previous": "Pista anterior"
|
||||
}
|
||||
},
|
||||
"Search": {
|
||||
|
@ -524,6 +544,9 @@
|
|||
}
|
||||
},
|
||||
"SearchBar": {
|
||||
"empty": {
|
||||
"noResults": "Perdón, no hay resultados para esta búsqueda"
|
||||
},
|
||||
"header": {
|
||||
"noResults": "No se han encontrado coincidencias"
|
||||
},
|
||||
|
@ -535,11 +558,13 @@
|
|||
"podcasts": "Podcasts"
|
||||
},
|
||||
"search": "Buscar música",
|
||||
"tag": "Etiqueta",
|
||||
"track": "Canción"
|
||||
},
|
||||
"link": {
|
||||
"fediverse": "Buscar en Wikipedia",
|
||||
"more": "Más resultados 🡒"
|
||||
"more": "Más resultados 🡒",
|
||||
"rss": "Suscribirse a este podcast vía RSS"
|
||||
},
|
||||
"placeholder": {
|
||||
"search": "Buscar artistas, álbumes, canciones…"
|
||||
|
@ -652,6 +677,7 @@
|
|||
},
|
||||
"header": {
|
||||
"appDetails": "Detalles de la aplicación",
|
||||
"appSecretWarning": "Mantener una copia de este token en un lugar seguro.",
|
||||
"editApp": "Error al aplicar la acción"
|
||||
},
|
||||
"help": {
|
||||
|
@ -665,6 +691,9 @@
|
|||
"link": {
|
||||
"settings": "Volver a los ajustes"
|
||||
},
|
||||
"message": {
|
||||
"appSecretWarning": "No serás capaz de verlo de nuevo una vez que dejes esta pantalla."
|
||||
},
|
||||
"title": "Error al aplicar la acción"
|
||||
},
|
||||
"ApplicationForm": {
|
||||
|
@ -675,14 +704,22 @@
|
|||
"header": {
|
||||
"failure": "No podemos crear tu cuenta"
|
||||
},
|
||||
"help": {
|
||||
"redirectUri": "Usa \"urn:ietf:wg:oauth:2.0:oob\" como URI de redirección si tu aplicación no está alojada en la web."
|
||||
},
|
||||
"label": {
|
||||
"name": "Nombre",
|
||||
"redirectUri": "Redireccionar URI",
|
||||
"scopes": {
|
||||
"description": "La comprobación de los ámbitos padre \"Lectura\" o \"Escritura\" implica el acceso a todos los ámbitos hijos correspondientes.",
|
||||
"label": "Alcances",
|
||||
"read": {
|
||||
"description": "Acceso de sólo lectura a los datos del usuario",
|
||||
"label": "Leer"
|
||||
},
|
||||
"write": {
|
||||
"description": "Acceso de solo lectura a datos de usuario",
|
||||
"label": "Escritura"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -703,10 +740,16 @@
|
|||
"authorize": "Autorizar la aplicación de terceros",
|
||||
"authorizeFailure": "Error al aplicar la acción",
|
||||
"fetchFailure": "Error al crear la invitación",
|
||||
"readOnly": "Sólo lectura"
|
||||
"readOnly": "Sólo lectura",
|
||||
"writeOnly": "Solo escritura"
|
||||
},
|
||||
"help": {
|
||||
"pasteCode": "Copie y pegue el siguiente código en la aplicación:"
|
||||
"copyCode": "Se te mostrará un código para copiar y pegar en la aplicación",
|
||||
"pasteCode": "Copie y pegue el siguiente código en la aplicación:",
|
||||
"redirect": "Serás redireccionado a { 0 }"
|
||||
},
|
||||
"message": {
|
||||
"unknownPermissions": "La aplicación también está solicitando los siguientes permisos desconocidos:"
|
||||
},
|
||||
"title": "Autorizar la aplicación"
|
||||
},
|
||||
|
@ -729,6 +772,9 @@
|
|||
"createAccount": "Crear una cuenta",
|
||||
"resetPassword": "Restablecer tu contraseña"
|
||||
},
|
||||
"message": {
|
||||
"redirect": "Serás redireccionado a {domain} para autenticar"
|
||||
},
|
||||
"placeholder": {
|
||||
"username": "Introduce tu nombre de usuario o correo electrónico"
|
||||
}
|
||||
|
@ -779,22 +825,29 @@
|
|||
"refresh": "Recargar",
|
||||
"remove": "Quitar",
|
||||
"removeApp": "Borrar lista de reproducción",
|
||||
"revoke": "Revocar",
|
||||
"revokeAccess": "Revocar acceso",
|
||||
"update": "Actualizar",
|
||||
"updateSettings": "Actualizar ajustes"
|
||||
},
|
||||
"description": {
|
||||
"authorizedApps": "Esta es la lista de aplicaciones que tienen acceso a tus datos de la cuenta.",
|
||||
"changeEmail": "Cambie la dirección de correo electrónico asociada a su cuenta. Le enviaremos una confirmación a la nueva dirección.",
|
||||
"changePassword": {
|
||||
"paragraph1": "Cambiar tu contraseña también cambiará la contraseña de la API de Subsonic, si pediste una.",
|
||||
"paragraph2": "Tendrás que actualizar tu contraseña en los clientes que usan esta contraseña."
|
||||
},
|
||||
"contentFilters": "Los filtros de contenido te ayudan a ocultar los contenidos que no quieres ver en el servicio."
|
||||
"contentFilters": "Los filtros de contenido te ayudan a ocultar los contenidos que no quieres ver en el servicio.",
|
||||
"deleteAccount": "Puedes eliminar permanentemente e irreversiblemente tu cuenta y todos los datos asociados usando el siguiente formulario. Se te pedirá confirmación.",
|
||||
"plugins": "Usa plugins para extender Funkwhale y obtener características adicionales.",
|
||||
"yourApps": "Esta es la lista de aplicaciones que tienes registradas."
|
||||
},
|
||||
"header": {
|
||||
"accountFailure": "No se puede iniciar la sesión",
|
||||
"accountSettings": "Configuración de cuenta",
|
||||
"authorizedApps": "Aplicaciones autorizadas",
|
||||
"avatar": "Avatar",
|
||||
"avatarFailure": "Tu avatar no puede ser guardado",
|
||||
"changeEmail": "Confirma tu dirección de correo",
|
||||
"changePassword": "Cambiar mi contraseña",
|
||||
"contentFilters": "Filtros de contenido",
|
||||
|
@ -803,6 +856,7 @@
|
|||
"hiddenArtists": "Explorando artistas",
|
||||
"noApps": "No tienes ninguna regla para esta cuenta.",
|
||||
"noPersonalApps": "No tienes ninguna regla para esta cuenta.",
|
||||
"passwordFailure": "Tu contraseña no puede ser cambiada",
|
||||
"plugins": "Plugins",
|
||||
"settingsUpdated": "Ajustes actualizados",
|
||||
"updateFailure": "Ajustes actualizados",
|
||||
|
@ -825,6 +879,7 @@
|
|||
"newApp": "Crear una nueva lista de reproducción"
|
||||
},
|
||||
"message": {
|
||||
"confirmDelete": "Tu solicitud de eliminación fue enviada, tu cuenta y contenido serán borrados en breve",
|
||||
"currentEmail": "Tienes iniciada actualmente sesión como { email }."
|
||||
},
|
||||
"modal": {
|
||||
|
@ -837,12 +892,22 @@
|
|||
"header": "¿Cambiar tu contraseña?"
|
||||
},
|
||||
"deleteAccount": {
|
||||
"content": {
|
||||
"warning": "Esto es irreversible y borrará permanentemente tus datos de nuestros servidores. Se cerrará inmediatamente la sesión."
|
||||
},
|
||||
"header": "¿Quieres restaurar tu cola de reproducción anterior?"
|
||||
},
|
||||
"deleteApp": {
|
||||
"content": {
|
||||
"warning": "Esto borrará por completo esta lista de reproducción y no se podrá deshacer."
|
||||
}
|
||||
},
|
||||
"header": "¿Borrar aplicación {app}?"
|
||||
},
|
||||
"revokeApp": {
|
||||
"content": {
|
||||
"warning": "Esto prevendrá que esta aplicación acceda al servicio en tu nombre."
|
||||
},
|
||||
"header": "¿Revocar el acceso para la aplicación {app}?"
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
|
@ -861,11 +926,15 @@
|
|||
"yourApps": {
|
||||
"header": {
|
||||
"application": "Aplicación",
|
||||
"creationDate": "Fecha de creación"
|
||||
"creationDate": "Fecha de creación",
|
||||
"scopes": "Alcances"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Configuración de Cuenta"
|
||||
"title": "Configuración de Cuenta",
|
||||
"warning": {
|
||||
"deleteAccount": "Tu cuneta será eliminada de nuestros servidores en unos minutos. También notificaremos a otros servidores que podrían copiar algunos de tus datos y así ellos procederán a la eliminación. Por favor tenga en cuenta que algunos de estos servidores podrían estar fuera de línea o no estar dispuestos a cumplir."
|
||||
}
|
||||
},
|
||||
"SignupForm": {
|
||||
"button": {
|
||||
|
@ -877,10 +946,13 @@
|
|||
},
|
||||
"label": {
|
||||
"email": "Dirección de correo electrónico",
|
||||
"invitation": "Código de invitación",
|
||||
"password": "Contraseña",
|
||||
"username": "Nombre de usuario"
|
||||
},
|
||||
"message": {
|
||||
"accountCreated": "Tu cuenta fue creada exitosamente. Por favor verifica tu dirección de correo electrónico antes de tratar de iniciar sesión.",
|
||||
"awaitingReview": "Tu solicitud de datos fue enviada exitosamente. Se te notificará por correo electrónico cuando nuestro equipo de moderación halla revisado tu solicitud.",
|
||||
"registrationClosed": "La inscripción a esta instancia está cerrada, necesitarás un código de invitación para inscribirte.",
|
||||
"requiresReview": "Las inscripciones en este pod están abiertas, pero son revisadas por los moderadores antes de su aprobación."
|
||||
},
|
||||
|
@ -956,7 +1028,8 @@
|
|||
},
|
||||
"AlbumSelect": {
|
||||
"label": {
|
||||
"album": "Álbum"
|
||||
"album": "Álbum",
|
||||
"series": "Series"
|
||||
},
|
||||
"meta": {
|
||||
"tracks": "{ n } canción | { n } canciones"
|
||||
|
@ -981,6 +1054,7 @@
|
|||
"auth": "Si dejas de seguir esta biblioteca, perderás acceso a su contenido"
|
||||
},
|
||||
"title": {
|
||||
"subscribe": "Suscribirse",
|
||||
"unsubscribe": "{ count } favorito"
|
||||
}
|
||||
},
|
||||
|
@ -988,7 +1062,9 @@
|
|||
"button": {
|
||||
"edit": "Editar",
|
||||
"ignore": "Ignorar",
|
||||
"remove": "Quitar"
|
||||
"remove": "Quitar",
|
||||
"resume": "Resumen",
|
||||
"retry": "Reintentar"
|
||||
},
|
||||
"description": {
|
||||
"extensions": "Extensiones soportadas: { extensions }"
|
||||
|
@ -1004,12 +1080,16 @@
|
|||
"openBrowser": "Explorar…"
|
||||
},
|
||||
"message": {
|
||||
"dragAndDrop": "Arrastre y suelte sus archivos aquí o abra el navegador para cargar sus archivos"
|
||||
"dragAndDrop": "Arrastre y suelte sus archivos aquí o abra el navegador para cargar sus archivos",
|
||||
"pending": "Tienes algunas cargas de borradores pendientes de publicación."
|
||||
},
|
||||
"status": {
|
||||
"errored": "Error",
|
||||
"pending": "En espera",
|
||||
"uploading": "Subiendo"
|
||||
},
|
||||
"warning": {
|
||||
"quota": "No tienes espacio disponible para subir tus archivos. Por favor contacta a los moderadores."
|
||||
}
|
||||
},
|
||||
"UploadMetadataForm": {
|
||||
|
@ -1017,6 +1097,7 @@
|
|||
"description": "Descripción",
|
||||
"image": "Nombre",
|
||||
"position": "Paginación",
|
||||
"tags": "Etiquetas",
|
||||
"title": "Título"
|
||||
}
|
||||
},
|
||||
|
@ -1037,7 +1118,8 @@
|
|||
"uploadFiles": "¿Eliminar la biblioteca?"
|
||||
},
|
||||
"meta": {
|
||||
"files": "{ n } archivo | { n } archivos"
|
||||
"files": "{ n } archivo | { n } archivos",
|
||||
"quota": "Almacenamiento restante: {space}"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -1048,6 +1130,7 @@
|
|||
"go": "Ir",
|
||||
"launch": "Iniciar",
|
||||
"refresh": "Actualiza el contenido de la tabla",
|
||||
"select": "Seleccionar",
|
||||
"selectAll": "Seleccionar un filtro",
|
||||
"selectCurrentPage": "Seleccionar solo la página actual",
|
||||
"selectElement": "Seleccionar { n } elemento | Seleccionar los { n } elementos",
|
||||
|
@ -1098,13 +1181,17 @@
|
|||
},
|
||||
"ContentForm": {
|
||||
"button": {
|
||||
"preview": "Previsualización"
|
||||
"preview": "Previsualización",
|
||||
"write": "Escribir"
|
||||
},
|
||||
"empty": {
|
||||
"noContent": "Archivos pendientes."
|
||||
},
|
||||
"help": {
|
||||
"markdown": "La sintaxis Markdown es compatible."
|
||||
},
|
||||
"placeholder": {
|
||||
"input": "Escribe algunas palabras aquí…"
|
||||
}
|
||||
},
|
||||
"CopyInput": {
|
||||
|
@ -1140,6 +1227,7 @@
|
|||
},
|
||||
"ExpandableDiv": {
|
||||
"button": {
|
||||
"less": "Mostrar menos",
|
||||
"more": "Mostrar 1 álbum adicional"
|
||||
}
|
||||
},
|
||||
|
@ -1155,6 +1243,12 @@
|
|||
}
|
||||
},
|
||||
"LoginModal": {
|
||||
"description": {
|
||||
"noAccess": "No tienes acceso"
|
||||
},
|
||||
"header": {
|
||||
"unauthenticated": "No autenticado"
|
||||
},
|
||||
"link": {
|
||||
"login": "Iniciar sesión",
|
||||
"signup": "Inscripción"
|
||||
|
@ -1164,6 +1258,7 @@
|
|||
"button": {
|
||||
"cancel": "Cancelar",
|
||||
"edit": "Editar",
|
||||
"less": "Mostrar menos",
|
||||
"more": "Mostrar 1 álbum adicional",
|
||||
"update": "Mi descripción molona"
|
||||
},
|
||||
|
@ -1174,10 +1269,16 @@
|
|||
"failure": "Error al aplicar la acción"
|
||||
}
|
||||
},
|
||||
"UserLink": {
|
||||
"link": {
|
||||
"username": "{'@'}{username}"
|
||||
}
|
||||
},
|
||||
"UserMenu": {
|
||||
"label": {
|
||||
"language": "Cambiar idioma",
|
||||
"shortcuts": "Atajos de teclado"
|
||||
"shortcuts": "Atajos de teclado",
|
||||
"theme": "Cambiar tema"
|
||||
},
|
||||
"link": {
|
||||
"about": "Acerca de",
|
||||
|
@ -1203,11 +1304,13 @@
|
|||
},
|
||||
"label": {
|
||||
"language": "Cambiar idioma",
|
||||
"shortcuts": "Atajos de teclado"
|
||||
"shortcuts": "Atajos de teclado",
|
||||
"theme": "Cambiar tema"
|
||||
},
|
||||
"link": {
|
||||
"about": "Acerca de",
|
||||
"chat": "Sala de chat",
|
||||
"docs": "Documentación",
|
||||
"forum": "Foro",
|
||||
"git": "Sistema de seguimiento de incidentes",
|
||||
"login": "Iniciar sesión",
|
||||
|
@ -1265,6 +1368,8 @@
|
|||
},
|
||||
"description": {
|
||||
"failure": "Ocurrió un error al intentar actualizar los datos:",
|
||||
"pending": "Nuestro servidor no procesó a tiempo la solicitud de actualización. Se procesará más tarde.",
|
||||
"skipped": "El servidor remoto respondió, pero los datos devueltos no son compatibles con Funkwhale.",
|
||||
"success": "Los datos se han actualizado con éxito desde el servidor remoto."
|
||||
},
|
||||
"header": {
|
||||
|
@ -1276,7 +1381,8 @@
|
|||
"success": "Actualización exitosa"
|
||||
},
|
||||
"loader": {
|
||||
"awaitingResult": "Cargando tus favoritos…"
|
||||
"awaitingResult": "Cargando tus favoritos…",
|
||||
"fetchRequest": "Solicitando una búsqueda…"
|
||||
},
|
||||
"table": {
|
||||
"error": {
|
||||
|
@ -1287,7 +1393,11 @@
|
|||
"value": {
|
||||
"connectionError": "Imposible conectar con el servidor remoto",
|
||||
"httpError": "Ha ocurrido un error HTTP al contactar con el servidor remoto",
|
||||
"invalidAttributesError": "Los datos devueltos por el servidor remoto tenían atributos inválidos o faltaban"
|
||||
"httpStatus": "El servidor remoto respondió con HTTP {status}",
|
||||
"invalidAttributesError": "Los datos devueltos por el servidor remoto tenían atributos inválidos o faltaban",
|
||||
"invalidJsonError": "El servidor remoto devolvió datos JSON o JSON-LD no válidos",
|
||||
"timeoutError": "El servidor remoto no respondió a tiempo",
|
||||
"unknownError": "Error desconocido"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1320,7 +1430,8 @@
|
|||
"meta": {
|
||||
"episodes": "{ n } episodio | { n } episodios",
|
||||
"tracks": "{ n } canción | { n } canciones"
|
||||
}
|
||||
},
|
||||
"title": "Álbum"
|
||||
},
|
||||
"AlbumDetail": {
|
||||
"description": {
|
||||
|
@ -1345,6 +1456,7 @@
|
|||
},
|
||||
"link": {
|
||||
"discogs": "Buscar música",
|
||||
"django": "Ver en el administrador de Django",
|
||||
"domain": "Miembro desde { date }",
|
||||
"moderation": "Actualizar regla de moderación",
|
||||
"musicbrainz": "Ver en MusicBrainz"
|
||||
|
@ -1365,6 +1477,9 @@
|
|||
"header": {
|
||||
"edit": "Reproducir canción",
|
||||
"suggest": "No podemos añadir la canción a una lista de reproducción"
|
||||
},
|
||||
"message": {
|
||||
"remote": "Este objeto es gestionado por otro servidor, no puedes editarlo."
|
||||
}
|
||||
},
|
||||
"Albums": {
|
||||
|
@ -1378,7 +1493,8 @@
|
|||
"browse": "Explorando álbumes"
|
||||
},
|
||||
"label": {
|
||||
"search": "Buscar"
|
||||
"search": "Buscar",
|
||||
"tags": "Etiquetas"
|
||||
},
|
||||
"link": {
|
||||
"addMusic": "Añadir algo de música"
|
||||
|
@ -1409,6 +1525,7 @@
|
|||
},
|
||||
"link": {
|
||||
"discogs": "Buscar música",
|
||||
"django": "Ver en el administrador de Django",
|
||||
"domain": "Miembro desde { date }",
|
||||
"moderation": "Actualizar regla de moderación",
|
||||
"musicbrainz": "Ver en MusicBrainz",
|
||||
|
@ -1440,12 +1557,18 @@
|
|||
},
|
||||
"link": {
|
||||
"filter": "Ver archivos"
|
||||
},
|
||||
"message": {
|
||||
"filter": "Actualmente estás ocultando contenido relacionado a este artista."
|
||||
}
|
||||
},
|
||||
"ArtistEdit": {
|
||||
"header": {
|
||||
"edit": "Reproducir canción",
|
||||
"suggest": "No podemos añadir la canción a una lista de reproducción"
|
||||
},
|
||||
"message": {
|
||||
"remote": "Este objeto está gestionado por otro servidor, no puedes editarlo."
|
||||
}
|
||||
},
|
||||
"Artists": {
|
||||
|
@ -1461,7 +1584,8 @@
|
|||
},
|
||||
"label": {
|
||||
"excludeCompilation": "Excluir recopilación de artistas",
|
||||
"search": "Nombre del artista"
|
||||
"search": "Nombre del artista",
|
||||
"tags": "Etiquetas"
|
||||
},
|
||||
"ordering": {
|
||||
"direction": {
|
||||
|
@ -1488,7 +1612,13 @@
|
|||
"header": {
|
||||
"modification": "Fecha de modificación"
|
||||
},
|
||||
"link": {
|
||||
"track": "Pista #{id} - {name}"
|
||||
},
|
||||
"modal": {
|
||||
"content": {
|
||||
"warning": "La sugerencia será borrada completamente, esta acción es irreversible."
|
||||
},
|
||||
"delete": {
|
||||
"header": "¿Borrar esta sugerencia?"
|
||||
}
|
||||
|
@ -1513,13 +1643,29 @@
|
|||
"EditForm": {
|
||||
"button": {
|
||||
"cancel": "Cancelar",
|
||||
"clear": "Borrar"
|
||||
"clear": "Borrar",
|
||||
"new": "Enviar otra edición",
|
||||
"reset": "Reiniciar al valor inicial",
|
||||
"showAll": "Mostrar todas las ediciones",
|
||||
"showUnreviewed": "Restringir las ediciones sin revición",
|
||||
"submit": "Enviar y aplicar edición",
|
||||
"suggest": "Enviar sugerencia"
|
||||
},
|
||||
"empty": {
|
||||
"suggestEdit": "Sugerir un cambio usando el siguiente formulario"
|
||||
},
|
||||
"header": {
|
||||
"failure": "Error al guardar los cambios",
|
||||
"recentEdits": "Añadidos recientemente",
|
||||
"success": "Tu edición fue enviada exitosamente.",
|
||||
"unreviewed": "Ediciones recientes en espera de revisión"
|
||||
},
|
||||
"label": {
|
||||
"summary": "Resumen (opcional)"
|
||||
},
|
||||
"message": {
|
||||
"noPermission": "No tienes permiso para editar este objeto, pero puedes sugerir cambios. Una vez enviadas, las sugerencias serán revisadas antes de aprobarse."
|
||||
},
|
||||
"notApplicable": "N/A",
|
||||
"placeholder": {
|
||||
"summary": "Ha ocurrido un error al guardar los cambios."
|
||||
|
@ -1531,15 +1677,21 @@
|
|||
"retry": "Biblioteca actualizada"
|
||||
},
|
||||
"description": {
|
||||
"import": "Reiniciar importación"
|
||||
"import": "Reiniciar importación",
|
||||
"previousImport": "Resultados de tu importación previa:"
|
||||
},
|
||||
"empty": {
|
||||
"noFiles": "0"
|
||||
},
|
||||
"header": {
|
||||
"failure": "Error al guardar los cambios",
|
||||
"local": "Subir música de '~/tu almacenamiento local",
|
||||
"server": "Estado de la importación",
|
||||
"status": "Estado de la importación"
|
||||
},
|
||||
"label": {
|
||||
"extensions": "Extensiones soportadas: { extensions }",
|
||||
"remainingSpace": "Almacenamiento restante",
|
||||
"uploadWidget": "Haga clic para seleccionar los archivos que desea cargar o arrastre y suelte los archivos o directorios"
|
||||
},
|
||||
"link": {
|
||||
|
@ -1548,7 +1700,9 @@
|
|||
"uploading": "Subiendo"
|
||||
},
|
||||
"message": {
|
||||
"listener": "Esta página está pidiendo que confirmes que quieres irte - los dato que has ingresado podrían no guardarse.",
|
||||
"local": {
|
||||
"copyright": "No subas contenido con copyright en una biblioteca pública, de otro modo, podrías estar infringiendo la ley",
|
||||
"format": "Las canciones que estás subiendo estén etiquetadas correctamente:",
|
||||
"message": "Estás a punto de subir música a tu biblioteca. Antes de continuar asegúrate que:",
|
||||
"tag": "Las canciones que estás subiendo estén etiquetadas correctamente."
|
||||
|
@ -1562,6 +1716,7 @@
|
|||
"size": "Tamaño",
|
||||
"status": "Estado"
|
||||
},
|
||||
"progress": "{percent}%",
|
||||
"status": {
|
||||
"pending": "En espera",
|
||||
"uploaded": "Subido",
|
||||
|
@ -1573,6 +1728,7 @@
|
|||
"denied": "Subida rechazada, asegúrate que el archivo no es demasiado grande y que no has alcanzado tu cuota",
|
||||
"extension": "Tipo de archivo no válido, asegúrese de que está cargando un archivo de audio. Las extensiones de archivo admitidas son { extensions }",
|
||||
"network": "Ha ocurrido un error de red al subir este archivo",
|
||||
"retry": "Reintentar",
|
||||
"size": "No es posible cargar este archivo, asegúrate que no es demasiado grande",
|
||||
"timeout": "Timeout en la subida, intentalo de nuevo"
|
||||
}
|
||||
|
@ -1604,9 +1760,11 @@
|
|||
"error": {
|
||||
"importFailure": "Ocurrió un error durante el proceso de carga. Encontrará más información abajo.",
|
||||
"invalidMetadata": {
|
||||
"label": "Metadatos inválidos"
|
||||
"label": "Metadatos inválidos",
|
||||
"message": "Los metadatos incluidos en el archivo no son válidos o faltan algunos campos obligatorios."
|
||||
},
|
||||
"unknownError": {
|
||||
"label": "Error desconocido",
|
||||
"message": "Ha ocurrido un error desconocido"
|
||||
}
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue