Laravel 13 + Filament 5 admin panel and REST API for a non-profit developer collective, backed by the Pireon OAuth identity server. The public site is a separate, server-rendered application consuming /api/public/v1. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
150 lines
8.6 KiB
PHP
150 lines
8.6 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
return [
|
|
'title' => 'Salud del sitio',
|
|
'subheading' => 'Lo que está mal en la web pública y no se ve desde aquí.',
|
|
|
|
'all_clear' => 'Todo en orden. No hay nada que arreglar.',
|
|
'problem_summary' => '{1}Hay 1 cosa que revisar|[2,*]Hay :count cosas que revisar',
|
|
'problem_hint' => 'La web está en otro sitio, así que estos fallos no se ven editando: se ven visitándola.',
|
|
'passing' => '{1}1 comprobación sin problemas|[2,*]:count comprobaciones sin problemas',
|
|
'and_more' => 'y :count más',
|
|
'refreshed' => 'Comprobaciones actualizadas',
|
|
|
|
'severity' => [
|
|
'ok' => 'Bien',
|
|
'warning' => 'Aviso',
|
|
'error' => 'Fallo',
|
|
],
|
|
|
|
'actions' => [
|
|
'refresh' => 'Volver a comprobar',
|
|
'go_fix' => 'Ir a arreglarlo',
|
|
],
|
|
|
|
'bits' => [
|
|
'description' => 'sin meta descripción',
|
|
'cover' => 'sin portada',
|
|
'gallery_image' => 'Imagen de galería sin describir',
|
|
'itself' => 'sí misma',
|
|
],
|
|
|
|
'checks' => [
|
|
'missing-slugs' => [
|
|
'title' => 'Slugs que faltan',
|
|
'ok' => 'Todo lo traducido tiene su slug.',
|
|
'problem' => '{1}1 registro está traducido a un idioma pero no tiene slug en él, así que su URL en ese idioma no existe o apunta a un 404.|[2,*]:count registros están traducidos a algún idioma sin tener slug en él, así que esas URLs no existen o apuntan a un 404.',
|
|
],
|
|
|
|
'duplicate-slugs' => [
|
|
'title' => 'Slugs repetidos',
|
|
'ok' => 'Cada URL resuelve a un solo registro.',
|
|
'problem' => '{1}1 slug está repetido dentro del mismo idioma: la API resuelve esa URL al primero que encuentra.|[2,*]:count slugs están repetidos dentro del mismo idioma: la API resuelve esas URLs al primero que encuentra.',
|
|
],
|
|
|
|
'broken-images' => [
|
|
'title' => 'Imágenes rotas',
|
|
'ok' => 'Todos los archivos de imagen están donde deben.',
|
|
'problem' => '{1}1 imagen que la web está publicando ya no existe en disco o no se pudo leer.|[2,*]:count imágenes que la web está publicando ya no existen en disco o no se pudieron leer.',
|
|
],
|
|
|
|
'missing-translations' => [
|
|
'title' => 'Contenido sin traducir',
|
|
'ok' => 'Todo lo publicado está en los tres idiomas.',
|
|
'problem' => '{1}1 registro publicado no está traducido a algún idioma, así que esa versión de la web se queda sin él.|[2,*]:count registros publicados no están traducidos a algún idioma, así que esas versiones de la web se quedan sin ellos.',
|
|
],
|
|
|
|
'images-without-alt' => [
|
|
'title' => 'Imágenes sin describir',
|
|
'ok' => 'Todas las imágenes publicadas tienen texto alternativo.',
|
|
'problem' => '{1}1 imagen publicada no tiene texto alternativo: quien no puede verla no se entera de que está.|[2,*]:count imágenes publicadas no tienen texto alternativo: quien no puede verlas no se entera de que están.',
|
|
],
|
|
|
|
'incomplete-seo' => [
|
|
'title' => 'Fichas incompletas',
|
|
'ok' => 'Todo lo publicado tiene descripción y portada.',
|
|
'problem' => '{1}1 registro publicado no tiene qué enseñar en un buscador o al pegar el enlace en un chat.|[2,*]:count registros publicados no tienen qué enseñar en un buscador o al pegar el enlace en un chat.',
|
|
],
|
|
|
|
'expired-calls' => [
|
|
'title' => 'Convocatorias vencidas',
|
|
'ok' => 'Ninguna convocatoria abierta ha pasado su fecha de cierre.',
|
|
'problem' => '{1}1 convocatoria sigue marcada como abierta con la fecha de cierre pasada. Ya no sale en la web, pero infla el contador del panel.|[2,*]:count convocatorias siguen marcadas como abiertas con la fecha de cierre pasada. Ya no salen en la web, pero inflan el contador del panel.',
|
|
],
|
|
|
|
'unanswered-submissions' => [
|
|
'title' => 'Gente esperando respuesta',
|
|
'ok' => 'No hay nadie esperando desde hace más de una semana.',
|
|
'problem' => '{1}1 persona escribió hace más de una semana y sigue sin respuesta.|[2,*]:count personas escribieron hace más de una semana y siguen sin respuesta.',
|
|
],
|
|
|
|
'stalled-media' => [
|
|
'title' => 'Imágenes sin procesar',
|
|
'ok' => 'No hay imágenes esperando a procesarse.',
|
|
'problem' => '{1}1 imagen lleva más de una hora sin procesarse: probablemente no hay ningún worker de colas ni scheduler corriendo.|[2,*]:count imágenes llevan más de una hora sin procesarse: probablemente no hay ningún worker de colas ni scheduler corriendo.',
|
|
],
|
|
|
|
'services-without-work' => [
|
|
'title' => 'Servicios sin obra detrás',
|
|
'ok' => 'Todos los servicios publicados enseñan trabajo real.',
|
|
'problem' => '{1}1 servicio publicado no enlaza ningún proyecto publicado: es una promesa, no una oferta.|[2,*]:count servicios publicados no enlazan ningún proyecto publicado: son promesas, no ofertas.',
|
|
],
|
|
|
|
'clients-without-logo' => [
|
|
'title' => 'Clientes sin logo',
|
|
'ok' => 'Todos los clientes del muro tienen logo.',
|
|
'problem' => '{1}1 cliente sale en el muro de logos sin tener logo: es un hueco que parece un fallo.|[2,*]:count clientes salen en el muro de logos sin tener logo: son huecos que parecen un fallo.',
|
|
],
|
|
|
|
'testimonials-missing-original' => [
|
|
'title' => 'Citas sin el original',
|
|
'ok' => 'Todas las citas tienen las palabras que se dijeron de verdad.',
|
|
'problem' => '{1}1 testimonio no tiene la cita en su idioma original: se está publicando una traducción de algo que nadie puede comprobar.|[2,*]:count testimonios no tienen la cita en su idioma original: se están publicando traducciones de algo que nadie puede comprobar.',
|
|
],
|
|
|
|
'talks-without-speaker' => [
|
|
'title' => 'Charlas sin ponente',
|
|
'ok' => 'Todas las charlas tienen a alguien acreditado.',
|
|
'problem' => '{1}1 charla no dice quién la dio, así que no sale en el perfil de nadie.|[2,*]:count charlas no dicen quién las dio, así que no salen en el perfil de nadie.',
|
|
],
|
|
|
|
'broken-redirects' => [
|
|
'title' => 'Redirecciones rotas',
|
|
'ok' => 'Ninguna redirección da vueltas ni encadena con otra.',
|
|
'problem' => '{1}1 redirección apunta a sí misma o a otra redirección: el navegador da vueltas o paga un salto de más.|[2,*]:count redirecciones apuntan a sí mismas o a otra redirección: el navegador da vueltas o paga saltos de más.',
|
|
],
|
|
|
|
'redirects-to-nowhere' => [
|
|
'title' => 'Redirecciones a ninguna parte',
|
|
'ok' => 'Todas las redirecciones llevan a una página que existe.',
|
|
'problem' => '{1}1 redirección lleva a una dirección que ya no responde: es peor que el 404 que venía a evitar.|[2,*]:count redirecciones llevan a direcciones que ya no responden: es peor que el 404 que venían a evitar.',
|
|
],
|
|
|
|
'missing-urls' => [
|
|
'title' => 'URLs que nadie encuentra',
|
|
'ok' => 'Ninguna dirección rota esperando redirección.',
|
|
'problem' => '{1}1 dirección da 404 y se ha pedido más de una vez: cada visita que llega por ahí se pierde.|[2,*]:count direcciones dan 404 y se han pedido más de una vez: cada visita que llega por ahí se pierde.',
|
|
],
|
|
|
|
'stale-reviews' => [
|
|
'title' => 'Revisiones sin contestar',
|
|
'ok' => 'Nadie lleva esperando una revisión.',
|
|
'problem' => '{1}1 cosa lleva más de una semana esperando revisión: quien la escribió cree que algo está pasando.|[2,*]:count cosas llevan más de una semana esperando revisión: quien las escribió cree que algo está pasando.',
|
|
],
|
|
|
|
'stale-translations' => [
|
|
'title' => 'Traducciones desactualizadas',
|
|
'ok' => 'Ninguna traducción se ha quedado atrás del original.',
|
|
'problem' => '{1}1 registro traducido dice algo que el original dejó de decir: existe la traducción, así que nada más lo avisa.|[2,*]:count registros traducidos dicen algo que el original dejó de decir: existen las traducciones, así que nada más lo avisa.',
|
|
],
|
|
|
|
'stale-repositories' => [
|
|
'title' => 'Repositorios que no sincronizan',
|
|
'ok' => 'Todos los repositorios sincronizan bien.',
|
|
'problem' => '{1}1 repositorio lleva varios intentos fallando. La web sigue enseñando sus últimos números, que ya no son ciertos.|[2,*]:count repositorios llevan varios intentos fallando. La web sigue enseñando sus últimos números, que ya no son ciertos.',
|
|
],
|
|
],
|
|
];
|