Initial commit: Pireon Admin — headless admin panel and public API
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>
This commit is contained in:
844
lang/es/panel.php
Normal file
844
lang/es/panel.php
Normal file
@@ -0,0 +1,844 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
'untitled' => 'Sin título',
|
||||
|
||||
'duplicates' => [
|
||||
'title' => 'Título parecido',
|
||||
'body' => 'Ya existe algo muy parecido: :titles',
|
||||
'open' => 'Ver ficha existente',
|
||||
],
|
||||
|
||||
'sessions' => [
|
||||
'title' => 'Sesiones',
|
||||
'this_one' => 'Esta sesión',
|
||||
'unknown_device' => 'Dispositivo desconocido',
|
||||
'fields' => [
|
||||
'ip_address' => 'Dirección IP',
|
||||
'device' => 'Dispositivo',
|
||||
'last_activity' => 'Última actividad',
|
||||
],
|
||||
'actions' => [
|
||||
'revoke' => 'Cerrar sesión',
|
||||
],
|
||||
'revoked' => 'Sesión cerrada. Esa conexión deja de valer en la próxima petición.',
|
||||
'empty' => [
|
||||
'heading' => 'Sin sesiones abiertas',
|
||||
'description' => 'Nadie ha iniciado sesión con esta cuenta, o llevan tiempo sin usarla.',
|
||||
],
|
||||
],
|
||||
|
||||
'environment' => [
|
||||
'production' => 'Producción — esto es real',
|
||||
'other' => 'Entorno de :name',
|
||||
],
|
||||
|
||||
'concurrency' => [
|
||||
'title' => 'No se ha guardado',
|
||||
'body' => 'Alguien más ha cambiado esto mientras lo editabas. Recarga la página para ver la versión actual: si guardas ahora, perderías ese cambio.',
|
||||
'body_with_author' => ':name ha cambiado esto mientras lo editabas. Recarga la página para ver su versión: si guardas ahora, perderías ese cambio.',
|
||||
],
|
||||
|
||||
'presence' => [
|
||||
'title' => 'Alguien más lo tiene abierto',
|
||||
'body' => 'Ahora mismo también lo está editando: :names.',
|
||||
],
|
||||
|
||||
'groups' => [
|
||||
'collective' => 'Colectivo',
|
||||
'content' => 'Contenido',
|
||||
'administration' => 'Administración',
|
||||
],
|
||||
|
||||
'language' => [
|
||||
'label' => 'Idioma',
|
||||
'switch' => 'Cambiar idioma',
|
||||
],
|
||||
|
||||
'pages' => [
|
||||
'label' => 'Página',
|
||||
'plural' => 'Páginas',
|
||||
'sections' => [
|
||||
'content' => 'Contenido',
|
||||
'content_hint' => 'Cada pestaña es un idioma. El idioma principal es obligatorio; el resto se rellena con él si lo dejas vacío.',
|
||||
'publishing' => 'Publicación',
|
||||
'seo' => 'SEO',
|
||||
'seo_hint' => 'Metadatos para buscadores y redes sociales.',
|
||||
],
|
||||
'fields' => [
|
||||
'title' => 'Título',
|
||||
'slug' => 'Slug',
|
||||
'excerpt' => 'Extracto',
|
||||
'body' => 'Contenido',
|
||||
'meta_title' => 'Meta título',
|
||||
'meta_description' => 'Meta descripción',
|
||||
'category' => 'Categoría',
|
||||
'author' => 'Autor',
|
||||
'status' => 'Estado',
|
||||
'featured_image' => 'Imagen destacada',
|
||||
'featured_image_alt' => 'Texto alternativo',
|
||||
'featured_image_alt_hint' => 'Qué se ve en la imagen, para quien no puede verla. Si es puramente decorativa, déjalo vacío.',
|
||||
'is_featured' => 'Destacada',
|
||||
'published_at' => 'Fecha de publicación',
|
||||
'published_at_hint' => 'Con una fecha futura, la página no sale en la web hasta que llegue.',
|
||||
'unpublish_at' => 'Retirar el',
|
||||
'unpublish_at_hint' => 'Opcional. Al llegar, la página desaparece sola de la web. Para avisos con fecha de caducidad.',
|
||||
'translations' => 'Traducciones',
|
||||
],
|
||||
'filters' => [
|
||||
'translated_in' => 'Traducida a',
|
||||
'missing_translation' => 'Sin traducir a',
|
||||
],
|
||||
'actions' => [
|
||||
'publish' => 'Publicar',
|
||||
'unpublish' => 'Despublicar',
|
||||
],
|
||||
],
|
||||
|
||||
'categories' => [
|
||||
'label' => 'Categoría',
|
||||
'plural' => 'Categorías',
|
||||
'fields' => [
|
||||
'name' => 'Nombre',
|
||||
'slug' => 'Slug',
|
||||
'description' => 'Descripción',
|
||||
'color' => 'Color',
|
||||
'position' => 'Orden',
|
||||
'is_visible' => 'Visible',
|
||||
'pages_count' => 'Páginas',
|
||||
],
|
||||
],
|
||||
|
||||
'users' => [
|
||||
'label' => 'Usuario',
|
||||
'plural' => 'Usuarios',
|
||||
'sections' => [
|
||||
'identity' => 'Identidad',
|
||||
'identity_hint' => 'Gestionada por el servidor OAuth. Se actualiza automáticamente en cada inicio de sesión.',
|
||||
'access' => 'Acceso y permisos',
|
||||
'access_hint' => 'Gestionado por esta aplicación.',
|
||||
],
|
||||
'fields' => [
|
||||
'name' => 'Nombre',
|
||||
'email' => 'Correo electrónico',
|
||||
'oauth_id' => 'ID en el servidor OAuth',
|
||||
'roles' => 'Roles',
|
||||
'locale' => 'Idioma preferido',
|
||||
'is_active' => 'Activo',
|
||||
'last_login_at' => 'Último acceso',
|
||||
'remote_roles' => 'Roles remotos',
|
||||
'never' => 'Nunca',
|
||||
],
|
||||
'actions' => [
|
||||
'activate' => 'Activar',
|
||||
'deactivate' => 'Desactivar',
|
||||
],
|
||||
],
|
||||
|
||||
'roles' => [
|
||||
'label' => 'Rol',
|
||||
'plural' => 'Roles',
|
||||
'fields' => [
|
||||
'name' => 'Nombre',
|
||||
'permissions' => 'Permisos',
|
||||
'users_count' => 'Usuarios',
|
||||
],
|
||||
'protected' => 'Rol protegido: no se puede eliminar.',
|
||||
'select_all' => 'Seleccionar todos',
|
||||
],
|
||||
|
||||
'permissions' => [
|
||||
'groups' => [
|
||||
'general' => 'General',
|
||||
'projects' => 'Proyectos',
|
||||
'members' => 'Miembros',
|
||||
'services' => 'Servicios',
|
||||
'clients' => 'Clientes',
|
||||
'testimonials' => 'Testimonios',
|
||||
'talks' => 'Charlas',
|
||||
'technologies' => 'Tecnologías',
|
||||
'calls' => 'Convocatorias',
|
||||
'applications' => 'Buzón',
|
||||
'repositories' => 'Repositorios',
|
||||
'media' => 'Medios',
|
||||
'redirects' => 'Redirecciones',
|
||||
'pages' => 'Páginas',
|
||||
'categories' => 'Categorías',
|
||||
'users' => 'Usuarios',
|
||||
'roles' => 'Roles',
|
||||
'settings' => 'Ajustes',
|
||||
],
|
||||
'abilities' => [
|
||||
'sync' => 'Sincronizar',
|
||||
'maintenance' => 'Activar modo mantenimiento',
|
||||
'panel_access' => 'Acceder al panel',
|
||||
'view_any' => 'Listar',
|
||||
'view' => 'Ver detalle',
|
||||
'create' => 'Crear',
|
||||
'update' => 'Editar',
|
||||
'delete' => 'Eliminar',
|
||||
'restore' => 'Restaurar',
|
||||
'force_delete' => 'Eliminar definitivamente',
|
||||
'publish' => 'Publicar',
|
||||
],
|
||||
],
|
||||
|
||||
'actions' => [
|
||||
'duplicate' => 'Duplicar',
|
||||
'duplicate_heading' => 'Duplicar este registro',
|
||||
'duplicated' => 'Duplicado. Ponle un slug y una fecha antes de publicarlo.',
|
||||
],
|
||||
|
||||
'preview' => [
|
||||
'label' => 'Vista previa',
|
||||
'heading' => 'Enlaces de vista previa',
|
||||
'hint' => 'Se pueden compartir y caducan en :hours horas. Cada uno sirve solo para este registro.',
|
||||
'open' => 'Abrir',
|
||||
],
|
||||
|
||||
'trash' => [
|
||||
'title' => 'Papelera',
|
||||
'subheading' => 'Todo lo borrado, junto, con el botón de deshacer al lado.',
|
||||
'empty' => 'La papelera está vacía.',
|
||||
'deleted_at' => 'Borrado :when',
|
||||
'restore' => 'Recuperar',
|
||||
'erase' => 'Eliminar',
|
||||
'erase_confirm' => 'Esto no se puede deshacer. ¿Seguro?',
|
||||
'restored' => 'Recuperado',
|
||||
'erased' => 'Eliminado definitivamente',
|
||||
],
|
||||
|
||||
'today' => [
|
||||
'all_clear' => 'No hay nada esperando',
|
||||
'all_clear_hint' => 'Ni gente sin respuesta ni contenido a medias.',
|
||||
],
|
||||
|
||||
'widgets' => [
|
||||
'stats' => [
|
||||
'pages' => 'Páginas',
|
||||
'published' => 'Publicadas',
|
||||
'users' => 'Usuarios activos',
|
||||
'missing_translations' => 'Sin traducir',
|
||||
'missing_translations_hint' => 'Páginas que faltan en algún idioma',
|
||||
'projects' => 'Proyectos',
|
||||
'projects_description' => 'Proyectos publicados',
|
||||
'active_projects' => 'Proyectos en marcha',
|
||||
'active_projects_description' => 'Buscando quien colabore',
|
||||
'members' => 'Miembros',
|
||||
'members_description' => 'Gente activa en el colectivo',
|
||||
'open_calls' => 'Convocatorias abiertas',
|
||||
'open_calls_description' => 'Buscando participantes',
|
||||
'good_first_issues' => 'Tareas para empezar',
|
||||
'good_first_issues_description' => 'Libres para cogerlas',
|
||||
'help_wanted' => 'Se busca ayuda',
|
||||
'help_wanted_description' => 'Issues abiertas',
|
||||
],
|
||||
|
||||
'growth_chart' => 'Crecimiento en el tiempo',
|
||||
'growth' => [
|
||||
'projects' => 'Proyectos',
|
||||
'members' => 'Miembros',
|
||||
'issues' => 'Tareas para empezar',
|
||||
],
|
||||
|
||||
'languages_chart' => 'Reparto de lenguajes',
|
||||
'languages' => [
|
||||
'repositories' => 'Repositorios',
|
||||
],
|
||||
],
|
||||
|
||||
'projects' => [
|
||||
'label' => 'Proyecto',
|
||||
'plural' => 'Proyectos',
|
||||
'sections' => [
|
||||
'content' => 'Contenido',
|
||||
'writeup' => 'Decisiones y postmortem',
|
||||
'writeup_hint' => 'Lo que una consultora no puede publicar y vosotros sí. Es el contenido que otros desarrolladores leen de verdad.',
|
||||
'details' => 'Detalles',
|
||||
],
|
||||
'fields' => [
|
||||
'title' => 'Título',
|
||||
'slug' => 'Slug',
|
||||
'tagline' => 'Frase resumen',
|
||||
'description' => 'Descripción',
|
||||
'decisions' => 'Decisiones técnicas',
|
||||
'decisions_hint' => 'Por qué elegisteis lo que elegisteis, y qué descartasteis.',
|
||||
'postmortem' => 'Postmortem',
|
||||
'postmortem_hint' => 'Qué salió mal y qué aprendisteis. No hace falta que sea un éxito.',
|
||||
'status' => 'Estado',
|
||||
'published_at' => 'Publicado el',
|
||||
'unpublish_at' => 'Retirar el',
|
||||
'unpublish_at_hint' => 'Opcional. Al llegar, el proyecto desaparece solo de la web.',
|
||||
'published_at_hint' => 'Vacío = no visible en la web pública.',
|
||||
'technologies' => 'Tecnologías',
|
||||
'lead' => 'Responsable',
|
||||
'members' => 'Participantes',
|
||||
'client' => 'Para quién',
|
||||
'client_hint' => 'La ONG, asociación o entidad destinataria. Si no está en la lista, puedes crearla aquí mismo.',
|
||||
'services' => 'Servicios',
|
||||
'demo_url' => 'Demo',
|
||||
'cover_image' => 'Imagen de portada',
|
||||
'cover_image_alt' => 'Texto alternativo',
|
||||
'cover_image_alt_hint' => 'Qué se ve en la portada, para quien no puede verla. Si es puramente decorativa, déjalo vacío.',
|
||||
'started_at' => 'Inicio',
|
||||
'ended_at' => 'Fin',
|
||||
'is_featured' => 'Destacado',
|
||||
'needs_help' => 'Busca gente',
|
||||
'needs_help_hint' => 'Lo muestra en la sección de colaboración de la web.',
|
||||
],
|
||||
'filters' => ['unpublished' => 'Sin publicar'],
|
||||
'actions' => ['publish' => 'Publicar'],
|
||||
],
|
||||
|
||||
'members' => [
|
||||
'label' => 'Miembro',
|
||||
'plural' => 'Miembros',
|
||||
'sections' => [
|
||||
'profile' => 'Perfil público',
|
||||
'profile_hint' => 'Es el escaparate personal de cada uno: la moneda con la que se paga el trabajo voluntario.',
|
||||
'membership' => 'Pertenencia',
|
||||
],
|
||||
'fields' => [
|
||||
'name' => 'Nombre',
|
||||
'slug' => 'Slug',
|
||||
'headline' => 'Titular',
|
||||
'bio' => 'Biografía',
|
||||
'avatar' => 'Foto',
|
||||
'avatar_hint' => 'El texto alternativo es el nombre de la persona, así que no hay que escribirlo.',
|
||||
'github_username' => 'Usuario de GitHub',
|
||||
'user' => 'Cuenta del panel',
|
||||
'user_hint' => 'Opcional. La mayoría de miembros no necesita acceso al admin.',
|
||||
'technologies' => 'Tecnologías',
|
||||
'projects' => 'Proyectos',
|
||||
'is_public' => 'Visible en la web',
|
||||
'is_founder' => 'Fundador/a',
|
||||
'position' => 'Orden',
|
||||
'joined_at' => 'Se unió',
|
||||
'left_at' => 'Se fue',
|
||||
'left_at_hint' => 'Sale del listado actual pero conserva su historial.',
|
||||
],
|
||||
'filters' => ['current' => 'Solo actuales'],
|
||||
],
|
||||
|
||||
'technologies' => [
|
||||
'label' => 'Tecnología',
|
||||
'plural' => 'Tecnologías',
|
||||
'off_radar' => 'Fuera del radar',
|
||||
'sections' => ['prose' => 'Descripción y nota del radar'],
|
||||
'fields' => [
|
||||
'name' => 'Nombre',
|
||||
'slug' => 'Slug',
|
||||
'category' => 'Categoría',
|
||||
'radar_ring' => 'Anillo del radar',
|
||||
'radar_ring_hint' => 'Vacío = se puede usar como etiqueta pero no sale en el radar.',
|
||||
'radar_note' => 'Nota del radar',
|
||||
'radar_note_hint' => 'Por qué está en ese anillo. Es la parte que la gente lee.',
|
||||
'description' => 'Descripción',
|
||||
'color' => 'Color',
|
||||
'logo' => 'Logo',
|
||||
'logo_hint' => 'Preferiblemente SVG o PNG con fondo transparente. Sale en el radar y en las fichas.',
|
||||
'website' => 'Web',
|
||||
'position' => 'Orden',
|
||||
'projects' => 'Proyectos',
|
||||
'members' => 'Miembros',
|
||||
],
|
||||
],
|
||||
|
||||
'calls' => [
|
||||
'label' => 'Convocatoria',
|
||||
'plural' => 'Convocatorias',
|
||||
'no_project' => 'General',
|
||||
'sections' => [
|
||||
'commitment' => 'Compromiso',
|
||||
'commitment_hint' => 'Lo escaso aquí es el tiempo, no el dinero. Ser concreto es lo que hace que alguien se decida.',
|
||||
],
|
||||
'fields' => [
|
||||
'title' => 'Título',
|
||||
'slug' => 'Slug',
|
||||
'description' => 'Descripción',
|
||||
'what_you_get' => 'Qué te llevas',
|
||||
'what_you_get_hint' => 'Aprendizaje, portfolio, referencias, mentoría. Decirlo abiertamente suma.',
|
||||
'status' => 'Estado',
|
||||
'project' => 'Proyecto',
|
||||
'project_hint' => 'Vacío = convocatoria general del colectivo.',
|
||||
'technologies' => 'Tecnologías',
|
||||
'hours_per_week' => 'Horas por semana',
|
||||
'duration_weeks' => 'Semanas',
|
||||
'seniority' => 'Nivel',
|
||||
'commitment' => 'Dedicación',
|
||||
'opens_at' => 'Abre',
|
||||
'closes_at' => 'Cierra',
|
||||
],
|
||||
'seniority' => ['any' => 'Cualquiera', 'junior' => 'Junior', 'mid' => 'Intermedio', 'senior' => 'Senior'],
|
||||
'commitment_summary' => '{0}:hoursh/semana|{1}:hoursh/semana · :weeks semana|[2,*]:hoursh/semana · :weeks semanas',
|
||||
],
|
||||
|
||||
'applications' => [
|
||||
'label' => 'Solicitud',
|
||||
'plural' => 'Buzón',
|
||||
'general_enquiry' => 'Mensaje general',
|
||||
'badge_tooltip' => 'Personas esperando respuesta',
|
||||
'saved' => 'Notas guardadas',
|
||||
'reply_subject' => 'Re: :subject',
|
||||
'sections' => [
|
||||
'message' => 'Lo que nos han escrito',
|
||||
'internal' => 'Seguimiento interno',
|
||||
'internal_hint' => 'Solo lo veis vosotros. Quien escribió no ve nada de esto.',
|
||||
],
|
||||
'fields' => [
|
||||
'name' => 'Nombre',
|
||||
'email' => 'Email',
|
||||
'organisation' => 'Entidad',
|
||||
'kind' => 'Tipo',
|
||||
'subject' => 'Sobre',
|
||||
'call' => 'Convocatoria',
|
||||
'hours_per_week' => 'Horas/semana',
|
||||
'hours_asked' => 'La convocatoria pedía :hours h/semana',
|
||||
'message' => 'Mensaje',
|
||||
'links' => 'Enlaces',
|
||||
'link_name' => 'Nombre',
|
||||
'link_url' => 'URL',
|
||||
'status' => 'Estado',
|
||||
'received_at' => 'Recibida',
|
||||
'handled_by' => 'Atendida por',
|
||||
'handled_at' => 'Atendida el',
|
||||
'locale' => 'Escribió en',
|
||||
'notes' => 'Notas',
|
||||
'notes_empty' => 'Sin notas',
|
||||
'notes_hint' => 'Para el resto del equipo: qué habéis hablado, en qué quedó.',
|
||||
],
|
||||
'actions' => [
|
||||
'group' => 'Marcar como',
|
||||
'open' => 'Abrir solicitud',
|
||||
'reply' => 'Responder',
|
||||
'notes' => 'Notas',
|
||||
'contacted' => 'Contactada',
|
||||
'accepted' => 'Aceptada',
|
||||
'declined' => 'Descartada',
|
||||
'spam' => 'Spam',
|
||||
],
|
||||
'tabs' => [
|
||||
'pending' => 'Sin responder',
|
||||
'contribute' => 'Quieren ayudar',
|
||||
'request' => 'Piden ayuda',
|
||||
'all' => 'Todas',
|
||||
'spam' => 'Spam',
|
||||
],
|
||||
'empty' => [
|
||||
'heading' => 'No hay nada que responder',
|
||||
'description' => 'Aquí llega lo que la gente escribe desde la web pública.',
|
||||
'call_heading' => 'Todavía no ha escrito nadie',
|
||||
],
|
||||
'notification' => [
|
||||
'contribute' => ':name quiere echar una mano',
|
||||
'request' => ':name pide ayuda para un proyecto',
|
||||
],
|
||||
'mail' => [
|
||||
'greeting' => 'Hay alguien esperando respuesta.',
|
||||
'from' => 'De :name (:email)',
|
||||
],
|
||||
],
|
||||
|
||||
'publishing' => [
|
||||
'published_count' => '{0}No había nada que publicar: ya estaba en la web.|{1}Publicada 1 ficha.|[2,*]Publicadas :count fichas.',
|
||||
'scheduled' => 'Programada',
|
||||
'expired' => 'Caducada',
|
||||
'expired_at' => 'Caducó el :time',
|
||||
'expires_in' => 'Caduca :time',
|
||||
'live' => 'En la web',
|
||||
'unpublished' => 'Sin publicar',
|
||||
],
|
||||
|
||||
'gallery' => [
|
||||
'title' => 'Galería',
|
||||
'missing_alt' => 'Sin describir',
|
||||
'pending' => 'Procesando',
|
||||
'fields' => [
|
||||
'image' => 'Imagen',
|
||||
'alt' => 'Texto alternativo',
|
||||
'alt_hint' => 'Qué se ve, para quien no puede verlo.',
|
||||
'caption' => 'Pie de foto',
|
||||
'caption_hint' => 'Se muestra a todo el mundo. Aquí van los «antes» y «después».',
|
||||
'size' => 'Tamaño',
|
||||
],
|
||||
'actions' => [
|
||||
'add' => 'Añadir imagen',
|
||||
],
|
||||
'empty' => [
|
||||
'heading' => 'Sin imágenes todavía',
|
||||
'description' => 'Capturas, antes y después, lo que haga falta para que se entienda el proyecto. Se pueden reordenar arrastrando.',
|
||||
],
|
||||
],
|
||||
|
||||
'services' => [
|
||||
'label' => 'Servicio',
|
||||
'plural' => 'Servicios',
|
||||
'no_projects' => 'Sin ningún proyecto detrás: es una promesa, no una oferta.',
|
||||
'sections' => [
|
||||
'evidence' => 'Lo que lo respalda',
|
||||
'evidence_hint' => 'Un servicio que no puede señalar trabajo real es una promesa. Enlaza los proyectos que lo demuestran.',
|
||||
'seo' => 'SEO',
|
||||
],
|
||||
'fields' => [
|
||||
'title' => 'Título',
|
||||
'slug' => 'Slug',
|
||||
'tagline' => 'Frase resumen',
|
||||
'tagline_hint' => 'Una línea. Es lo que se lee en la tarjeta de la portada.',
|
||||
'description' => 'Descripción',
|
||||
'projects' => 'Proyectos',
|
||||
'technologies' => 'Tecnologías',
|
||||
'icon' => 'Icono',
|
||||
'icon_hint' => 'Nombre de un icono de Heroicons, por ejemplo heroicon-o-code-bracket.',
|
||||
'position' => 'Orden',
|
||||
'is_published' => 'Publicado',
|
||||
'is_featured' => 'Destacado',
|
||||
'is_featured_hint' => 'Para que la portada pueda elegir unos pocos.',
|
||||
'published_at' => 'Publicar el',
|
||||
'published_at_hint' => 'Con una fecha futura, no sale en la web hasta que llegue.',
|
||||
'unpublish_at' => 'Retirar el',
|
||||
'unpublish_at_hint' => 'Opcional. Al llegar, desaparece solo de la web.',
|
||||
'meta_title' => 'Meta título',
|
||||
'meta_description' => 'Meta descripción',
|
||||
'translations' => 'Traducciones',
|
||||
],
|
||||
|
||||
'actions' => [
|
||||
'publish' => 'Publicar',
|
||||
],
|
||||
],
|
||||
|
||||
'clients' => [
|
||||
'label' => 'Cliente',
|
||||
'plural' => 'Clientes',
|
||||
'fields' => [
|
||||
'name' => 'Nombre',
|
||||
'slug' => 'Slug',
|
||||
'sector' => 'Sector',
|
||||
'logo' => 'Logo',
|
||||
'logo_hint' => 'Preferiblemente en SVG o PNG con fondo transparente.',
|
||||
'url' => 'Web',
|
||||
'projects' => 'Proyectos',
|
||||
'is_public' => 'Se puede mostrar',
|
||||
'is_public_hint' => 'Desmárcalo si la entidad prefiere no aparecer en la web.',
|
||||
'position' => 'Orden',
|
||||
],
|
||||
'filters' => [
|
||||
'without_logo' => 'Sin logo',
|
||||
],
|
||||
],
|
||||
|
||||
'testimonials' => [
|
||||
'label' => 'Testimonio',
|
||||
'plural' => 'Testimonios',
|
||||
'sections' => [
|
||||
'quote' => 'La cita',
|
||||
'quote_hint' => 'Escribe en el idioma original lo que dijeron de verdad. Las otras pestañas son traducciones vuestras, y la web lo indicará.',
|
||||
'author' => 'Quién lo dijo',
|
||||
'about' => 'De qué habla',
|
||||
'about_hint' => 'Enlázalo a un cliente, un proyecto o un servicio: así la web pide los que tocan en cada página en vez de tener una lista suelta.',
|
||||
],
|
||||
'fields' => [
|
||||
'quote' => 'Cita',
|
||||
'original_locale' => 'Idioma original',
|
||||
'original_locale_hint' => 'En qué idioma lo dijeron. Traducir una cita es ponerle palabras en la boca a alguien, así que la web lo avisa.',
|
||||
'author_name' => 'Nombre',
|
||||
'author_role' => 'Cargo',
|
||||
'avatar' => 'Foto',
|
||||
'client' => 'Cliente',
|
||||
'project' => 'Proyecto',
|
||||
'service' => 'Servicio',
|
||||
'is_public' => 'Visible',
|
||||
'position' => 'Orden',
|
||||
'given_at' => 'Fecha',
|
||||
],
|
||||
],
|
||||
|
||||
'talks' => [
|
||||
'label' => 'Charla',
|
||||
'plural' => 'Charlas',
|
||||
'fields' => [
|
||||
'title' => 'Título',
|
||||
'title_hint' => 'No se traduce: es el nombre de una charla que se dio una vez y en un idioma.',
|
||||
'language' => 'Idioma',
|
||||
'summary' => 'Resumen',
|
||||
'event' => 'Evento',
|
||||
'city' => 'Ciudad',
|
||||
'held_at' => 'Fecha',
|
||||
'video_url' => 'Vídeo',
|
||||
'slides_url' => 'Diapositivas',
|
||||
'member' => 'Ponente',
|
||||
'member_hint' => 'Aparecerá también en su perfil, sin escribirlo dos veces.',
|
||||
'project' => 'Proyecto',
|
||||
'is_public' => 'Visible',
|
||||
],
|
||||
],
|
||||
|
||||
'repositories' => [
|
||||
'label' => 'Repositorio',
|
||||
'plural' => 'Repositorios',
|
||||
'never_synced' => 'Nunca',
|
||||
'fields' => [
|
||||
'provider' => 'Proveedor',
|
||||
'full_name' => 'Repositorio',
|
||||
'full_name_hint' => 'Formato «owner/repo». Todo lo demás se trae solo.',
|
||||
'project' => 'Proyecto',
|
||||
'is_primary' => 'Principal',
|
||||
'is_primary_hint' => 'El que representa al proyecto cuando hay varios.',
|
||||
'show_publicly' => 'Visible en la web',
|
||||
'language' => 'Lenguaje',
|
||||
'contributors' => 'Contribuidores',
|
||||
'good_first_issues' => 'Tareas para empezar',
|
||||
'pushed_at' => 'Último push',
|
||||
'last_synced_at' => 'Sincronizado',
|
||||
],
|
||||
'filters' => ['failing' => 'Con errores', 'dormant' => 'Sin actividad'],
|
||||
'actions' => ['sync' => 'Sincronizar', 'sync_selected' => 'Sincronizar seleccionados'],
|
||||
'notifications' => [
|
||||
'synced' => 'Repositorio sincronizado',
|
||||
'synced_body' => ':stars★ · :issues tareas para empezar',
|
||||
'sync_failed' => 'No se pudo sincronizar',
|
||||
'queued' => ':count repositorios en cola',
|
||||
],
|
||||
],
|
||||
|
||||
'revisions' => [
|
||||
'title' => 'Historial',
|
||||
'system' => 'El sistema',
|
||||
'before' => 'Antes',
|
||||
'after' => 'Después',
|
||||
'no_changes' => 'Esta entrada no registra cambios de campos.',
|
||||
'restored' => 'Valores restaurados',
|
||||
'restore_confirm' => 'Se devolverán los campos a como estaban en ese momento. La restauración queda registrada también, así que siempre se puede deshacer.',
|
||||
'diff_heading' => 'Cambio de :author · :when',
|
||||
'fields' => [
|
||||
'event' => 'Qué pasó',
|
||||
'author' => 'Quién',
|
||||
'fields' => 'Campos',
|
||||
'when' => 'Cuándo',
|
||||
],
|
||||
'events' => [
|
||||
'created' => 'Creado',
|
||||
'updated' => 'Editado',
|
||||
'published' => 'Publicado',
|
||||
'unpublished' => 'Despublicado',
|
||||
'deleted' => 'Borrado',
|
||||
'restored' => 'Recuperado',
|
||||
'erased' => 'Eliminado del todo',
|
||||
],
|
||||
'actions' => [
|
||||
'diff' => 'Ver cambio',
|
||||
'restore' => 'Restaurar estos valores',
|
||||
],
|
||||
],
|
||||
|
||||
'media' => [
|
||||
'label' => 'Archivo',
|
||||
'plural' => 'Medios',
|
||||
'subheading' => ':count archivos · :size MB en disco, contando las versiones derivadas.',
|
||||
'pending' => 'Sin procesar',
|
||||
'in_use' => 'En uso',
|
||||
'orphan' => 'Sin usar',
|
||||
'fields' => [
|
||||
'file' => 'Archivo',
|
||||
'size' => 'Medidas',
|
||||
'versions' => 'Versiones',
|
||||
'weight' => 'Peso',
|
||||
'used' => 'Uso',
|
||||
'error' => 'Error',
|
||||
],
|
||||
'filters' => [
|
||||
'pending' => 'Sin procesar',
|
||||
'failed' => 'Con error',
|
||||
'orphans' => 'Que no usa nadie',
|
||||
'missing' => 'Sin archivo en disco',
|
||||
],
|
||||
'actions' => [
|
||||
'open' => 'Abrir',
|
||||
'reprocess' => 'Reprocesar',
|
||||
'reprocess_all' => 'Reprocesar todo',
|
||||
'reprocess_all_hint' => 'Vuelve a generar medidas, versiones y placeholders de todas las imágenes. Es lo que hay que hacer tras cambiar los anchos o añadir un formato.',
|
||||
'reprocess_queued' => 'Encolado. Se procesa en cuanto corra la cola.',
|
||||
],
|
||||
'empty' => [
|
||||
'heading' => 'Todavía no hay archivos',
|
||||
'description' => 'Aparecen aquí solos según se suben imágenes en proyectos, páginas, miembros o la vitrina.',
|
||||
],
|
||||
],
|
||||
|
||||
'redirects' => [
|
||||
'label' => 'Redirección',
|
||||
'plural' => 'Redirecciones',
|
||||
'hint' => 'Rutas tal y como las ve la web, empezando por barra. Al renombrar un slug se crea una sola.',
|
||||
'every_locale' => 'Todos los idiomas',
|
||||
'automatic' => 'Automática',
|
||||
'manual' => 'A mano',
|
||||
'fields' => [
|
||||
'from' => 'De',
|
||||
'from_hint' => 'La dirección que dejó de funcionar.',
|
||||
'to' => 'A',
|
||||
'status' => 'Tipo',
|
||||
'status_hint' => 'Permanente es lo normal: le dice a Google que actualice el enlace.',
|
||||
'locale' => 'Idioma',
|
||||
'locale_hint' => 'Déjalo vacío para que valga en los tres.',
|
||||
'is_enabled' => 'Activa',
|
||||
'hits' => 'Usos',
|
||||
'origin' => 'Origen',
|
||||
],
|
||||
'statuses' => [
|
||||
'301' => 'Permanente (301)',
|
||||
'302' => 'Temporal (302)',
|
||||
],
|
||||
'filters' => [
|
||||
'unused' => 'Sin usar todavía',
|
||||
],
|
||||
'empty' => [
|
||||
'heading' => 'Todavía no hay redirecciones',
|
||||
'description' => 'Se crean solas al cambiar el slug de algo publicado. Aquí puedes añadir a mano las de enlaces anteriores a esta web.',
|
||||
],
|
||||
],
|
||||
|
||||
'translations' => [
|
||||
'filters' => [
|
||||
'stale' => 'Traducción desactualizada',
|
||||
],
|
||||
],
|
||||
|
||||
'views' => [
|
||||
'column' => 'Visitas',
|
||||
'column_hint' => 'Lecturas de los últimos 30 días, sumando todos los idiomas. Vacío mientras el frontend no las reporte.',
|
||||
'in_days' => 'en :days días',
|
||||
'filters' => [
|
||||
'unread' => 'Publicado y sin visitas',
|
||||
],
|
||||
],
|
||||
|
||||
'reviews' => [
|
||||
'title' => 'Revisión',
|
||||
'column' => 'Revisión',
|
||||
'waiting' => 'Esperando',
|
||||
'waiting_for_you' => 'Esperan tu revisión',
|
||||
'waiting_for_you_hint' => 'Alguien terminó algo y no puede publicarlo.',
|
||||
'anyone' => 'Cualquiera que pueda publicar',
|
||||
'requested' => 'Pedida la revisión. Avisamos a quien puede publicarlo.',
|
||||
'requested_count' => '{0}No había nada que pedir: ya estaba en revisión o publicado.|{1}Pedida la revisión de 1 ficha.|[2,*]Pedida la revisión de :count fichas.',
|
||||
'returned' => 'Devuelto a quien lo escribió, con tu motivo.',
|
||||
'fields' => [
|
||||
'reviewer' => 'Se lo pides a',
|
||||
'reviewer_hint' => 'Déjalo vacío y lo verá todo el que pueda publicar esto.',
|
||||
'note' => 'Nota',
|
||||
'note_hint' => 'Opcional. Lo que quien revise necesita saber antes de mirarlo.',
|
||||
'reason' => 'Qué hay que cambiar',
|
||||
'reason_hint' => 'Obligatorio: devolver algo sin decir por qué es lo que hace que nadie use la revisión.',
|
||||
'event' => 'Qué pasó',
|
||||
'who' => 'Quién',
|
||||
'when' => 'Cuándo',
|
||||
],
|
||||
'filters' => [
|
||||
'mine' => 'Esperando mi revisión',
|
||||
],
|
||||
'actions' => [
|
||||
'request' => 'Pedir revisión',
|
||||
'request_bulk' => 'Pedir revisión (selección)',
|
||||
'request_heading' => 'Decir que esto ya está',
|
||||
'request_hint' => 'Tú no puedes publicarlo, así que esto avisa a quien sí puede.',
|
||||
'return' => 'Devolver',
|
||||
'return_heading' => 'Devolverlo a quien lo escribió',
|
||||
'comment' => 'Comentar',
|
||||
'open' => 'Abrir',
|
||||
],
|
||||
'notification' => [
|
||||
'title' => ':name pide que revises algo',
|
||||
'returned' => ':name te ha devuelto algo',
|
||||
],
|
||||
'empty' => [
|
||||
'heading' => 'Nada que comentar todavía',
|
||||
'description' => 'Aquí queda lo que se pidió, lo que se devolvió y por qué. Es lo que el historial de cambios no puede guardar.',
|
||||
],
|
||||
],
|
||||
|
||||
'missing_urls' => [
|
||||
'label' => 'URL no encontrada',
|
||||
'plural' => 'URLs no encontradas',
|
||||
'linked_from_us' => 'Enlazada desde nuestra propia web',
|
||||
'no_referrer' => 'Sin procedencia',
|
||||
'fields' => [
|
||||
'path' => 'Dirección',
|
||||
'hits' => 'Visitas',
|
||||
'locale' => 'Idioma',
|
||||
'status' => 'Estado',
|
||||
'referrer' => 'Venían de',
|
||||
'last_seen' => 'Última vez',
|
||||
],
|
||||
'filters' => [
|
||||
'internal' => 'Enlazadas desde nuestra web',
|
||||
'repeated' => 'Más de una visita',
|
||||
],
|
||||
'actions' => [
|
||||
'redirect' => 'Crear redirección',
|
||||
'redirect_heading' => 'Mandar esta dirección a otro sitio',
|
||||
'redirect_hint' => 'La dirección que falla ya está puesta. Solo hace falta decir a dónde debería llevar.',
|
||||
'redirected' => 'Redirección creada. Esta dirección deja de dar 404.',
|
||||
'locale_hint' => 'Viene del idioma en que se pidió. Vacío para que valga en todos.',
|
||||
'ignore' => 'Ignorar',
|
||||
'unignore' => 'Dejar de ignorar',
|
||||
],
|
||||
'empty' => [
|
||||
'heading' => 'Nadie se ha topado con un 404',
|
||||
'description' => 'Aquí aparecen las direcciones que la web no supo resolver, para poder redirigirlas. Las reporta el frontend, así que hace falta configurar SITE_INGEST_TOKEN.',
|
||||
],
|
||||
],
|
||||
|
||||
'settings' => [
|
||||
'label' => 'Configuración',
|
||||
'plural' => 'Configuraciones',
|
||||
'sections' => [
|
||||
'general' => 'General',
|
||||
],
|
||||
'fields' => [
|
||||
'key' => 'Clave',
|
||||
'value' => 'Valor',
|
||||
'value_hint' => 'El valor tal cual, en JSON. Si no es JSON válido no se guarda.',
|
||||
],
|
||||
'actions' => [
|
||||
'add_setting' => 'Agregar configuración',
|
||||
'delete_setting' => 'Eliminar configuración',
|
||||
],
|
||||
],
|
||||
|
||||
'issues' => [
|
||||
'label' => 'Tarea',
|
||||
'plural' => 'Tareas',
|
||||
'sections' => [
|
||||
'details' => 'Detalles',
|
||||
'classification' => 'Clasificación',
|
||||
'metadata' => 'Metadatos',
|
||||
],
|
||||
'fields' => [
|
||||
'number' => 'Número',
|
||||
'title' => 'Título',
|
||||
'repository' => 'Repositorio',
|
||||
'author' => 'Autor',
|
||||
'assignee' => 'Asignado a',
|
||||
'assignee_hint' => 'Usuario de GitHub o vacío para marcar sin asignar',
|
||||
'url' => 'URL',
|
||||
'is_good_first_issue' => 'Tarea para empezar',
|
||||
'is_good_first_issue_hint' => 'Recomendada para nuevos colaboradores del proyecto',
|
||||
'is_help_wanted' => 'Ayuda buscada',
|
||||
'is_help_wanted_hint' => 'Abierta a contribuciones de la comunidad',
|
||||
'comments' => 'Comentarios',
|
||||
'issue_created_at' => 'Creada',
|
||||
'issue_updated_at' => 'Actualizada',
|
||||
'labels' => 'Etiquetas',
|
||||
'unassigned' => 'Sin asignar',
|
||||
],
|
||||
'filters' => [
|
||||
'repository' => 'Repositorio',
|
||||
'good_first_issue' => 'Tareas para empezar',
|
||||
'help_wanted' => 'Ayuda buscada',
|
||||
'unclaimed' => 'Sin asignar',
|
||||
'claimed' => 'Asignadas',
|
||||
],
|
||||
],
|
||||
];
|
||||
Reference in New Issue
Block a user