<?php

declare(strict_types=1);

/**
 * lang/en.php — Catálogo español => inglés de la UI del panel.
 * Solo cadenas visibles; los tokens técnicos idénticos (DNS, MAC, URL, Xtream,
 * TMDB, IBO, M3U, tmdb_key, username, password…) se dejan sin traducir.
 */

return [
    // Chrome / navegación
    'Dashboard' => 'Dashboard',
    'Dispositivos' => 'Devices',
    'Códigos' => 'Codes',
    'Credenciales' => 'Credentials',
    'Ajustes' => 'Settings',
    'Deportes' => 'Sports',
    'Idiomas' => 'Languages',
    'IPTV admin' => 'IPTV admin',
    'Navegación principal' => 'Main navigation',
    'Plegar menú' => 'Collapse menu',
    'Cambiar tema claro/oscuro' => 'Toggle light/dark theme',
    'Salir' => 'Sign out',
    'IBO ULTRA GLASS · admin' => 'IBO ULTRA GLASS · admin',

    // Dashboard
    'Administración de dispositivos IPTV' => 'IPTV device management',
    'Dispositivos recientes' => 'Recent devices',
    'Ver todos' => 'View all',
    'Registrados' => 'Registered',
    'Activos' => 'Active',
    'Expirados' => 'Expired',
    'Total' => 'Total',
    'Aún no hay dispositivos. Cuando la app se conecte aparecerán aquí.' => 'No devices yet. They will appear here once the app connects.',

    // Devices / device edit
    'Buscar dispositivos' => 'Search devices',
    'Buscar por MAC, device key o modelo…' => 'Search by MAC, device key or model…',
    'No hay resultados.' => 'No results.',
    'Volver a dispositivos' => 'Back to devices',
    'Identidad y estado' => 'Identity and status',
    'Servidor / Credenciales' => 'Server / Credentials',
    'Branding (esta TV)' => 'Branding (this TV)',
    'Control parental' => 'Parental control',
    'PIN parental' => 'Parental PIN',
    '4 a 8 dígitos.' => '4 to 8 digits.',
    'Fecha de expiración' => 'Expiration date',
    'Último acceso' => 'Last access',
    'Suscripción' => 'Subscription',
    'Expiración' => 'Expiration',
    'Permanente' => 'Permanent',
    'Expira el' => 'Expires on',
    'Sincronizado' => 'Synced',
    'Registrado' => 'Registered',
    'Registrado (activado)' => 'Registered (activated)',
    'Sin registrar' => 'Unregistered',
    'Estado' => 'Status',
    'Proteger lista' => 'Protect playlist',
    '(el usuario NO podrá ver los datos Xtream al editar la playlist)' => '(the user will NOT see the Xtream data when editing the playlist)',
    'Protegida' => 'Protected',
    'Nombre de la lista' => 'Playlist name',
    'Añadir playlist' => 'Add playlist',
    'URL del servidor' => 'Server URL',
    'Usuario' => 'User',
    'Contraseña' => 'Password',
    'Bloqueado (forzar acceso bloqueado independientemente de la fecha)' => 'Blocked (force blocked access regardless of date)',

    // Branding / notificación
    'Branding por defecto' => 'Default branding',
    'Título de notificación' => 'Notification title',
    'Texto de notificación' => 'Notification text',
    'Título de login' => 'Login title',
    'Texto de login' => 'Login text',
    'Tema de login' => 'Login theme',
    'Tema login por defecto' => 'Default login theme',
    'Tema home por defecto' => 'Default home theme',
    'Tema activo (home)' => 'Active theme (home)',
    'Tema por defecto' => 'Default theme',
    'Tema' => 'Theme',
    'Cabecera' => 'Header',
    'Mensaje 1' => 'Message 1',
    'Mensaje 2' => 'Message 2',
    'Dos líneas de mensaje de contacto/soporte que la app muestra al usuario.' => 'Two lines of contact/support message shown to the user by the app.',
    'Si se deja en blanco, la app usa los textos por defecto de Ajustes.' => 'If left blank, the app uses the default texts from Settings.',
    'Usado cuando un dispositivo no tiene sus propios textos.' => 'Used when a device has no texts of its own.',
    'Se aplica a los dispositivos nuevos en su primer contacto. Tocá una vista previa para elegir el tema del home.' => 'Applies to new devices on first contact. Tap a preview to choose the home theme.',
    'Soporte' => 'Support',
    'Soporte: soporte@ejemplo.com' => 'Support: support@example.com',

    // Codes
    'Listado de códigos' => 'Codes list',
    'Crear código' => 'Create code',
    'Tipo de código' => 'Code type',
    'Código' => 'Code',
    'Un uso' => 'Single use',
    'Multiuso' => 'Multi-use',
    '(multiuso)' => '(multi-use)',
    'Usado por' => 'Used by',
    'Usado' => 'Used',
    'Usados' => 'Used',
    'Sin usar' => 'Unused',
    'Sin uso' => 'Unused',
    'uso(s)' => 'use(s)',
    'Trial (prueba)' => 'Trial',
    'Permanente' => 'Permanent',
    'Aún no hay códigos. Crea uno arriba.' => 'No codes yet. Create one above.',

    // DNS
    'Servidor DNS' => 'DNS server',
    '— Selecciona DNS —' => '— Select DNS —',
    '— Elegir DNS —' => '— Choose DNS —',
    '— Sin DNS —' => '— No DNS —',
    'Aún no hay servidores DNS. Añade uno arriba.' => 'No DNS servers yet. Add one above.',
    'No hay servidores DNS. Crea al menos uno en' => 'No DNS servers. Create at least one in',

    // Credentials
    'Aún no hay credenciales. Añade una arriba.' => 'No credentials yet. Add one above.',
    'antes de asignarlo a una credencial.' => 'before assigning it to a credential.',
    'para poder añadir playlists Xtream.' => 'to be able to add Xtream playlists.',

    // Settings
    'Guardar ajustes' => 'Save settings',
    'Guardar cambios' => 'Save changes',
    'Marca los idiomas que la app ofrecerá.' => 'Select the languages the app will offer.',
    'Clave de TMDB' => 'TMDB key',
    'Clave de The Movie Database. Se usa en el servidor y se envía a la app en la config.' => 'The Movie Database key. Used on the server and sent to the app in its config.',
    'Configura el panel de deportes de la app.' => 'Configure the app sports panel.',
    'Extractor M3U' => 'M3U extractor',
    'Extraer' => 'Extract',
    'Canales (separados por comas)' => 'Channels (comma-separated)',
    'Canal 1, Canal 2' => 'Channel 1, Channel 2',
    'Sube tu lista para empezar' => 'Upload your playlist to start',

    // Sports
    'Activar deportes' => 'Enable sports',
    'Días a mostrar' => 'Days to show',
    'League ID (opcional)' => 'League ID (optional)',
    'Ligas' => 'Leagues',
    'Liga' => 'League',
    'Partido' => 'Match',
    'Local' => 'Home',
    'Visitante' => 'Away',
    'Hora' => 'Time',
    'Aún no hay eventos. Añade uno arriba.' => 'No events yet. Add one above.',
    'Aún no hay ligas. Añade una arriba.' => 'No leagues yet. Add one above.',

    // Ads / menu_ads
    'Promoción' => 'Promotion',
    'Aún no hay anuncios. Añade uno arriba.' => 'No ads yet. Add one above.',
    'anuncio' => 'ad',

    // Login
    'Acceso · IBO ULTRA GLASS' => 'Sign in · IBO ULTRA GLASS',
    'Bienvenido' => 'Welcome',
    'Entrar' => 'Sign in',

    // Colores
    'Color de fondo' => 'Background color',
    'Color de texto' => 'Text color',
    'Color de borde' => 'Border color',

    // Acciones / genéricos
    'Acciones' => 'Actions',
    'Añadir' => 'Add',
    'Editar' => 'Edit',
    'Borrar' => 'Delete',
    'Cancelar' => 'Cancel',
    'Guardar' => 'Save',
    'Buscar' => 'Search',
    'Limpiar' => 'Clear',
    'Crear' => 'Create',
    'Orden' => 'Order',
    'Nombre' => 'Name',
    'Título' => 'Title',
    'Precio' => 'Price',
    'Tipo' => 'Type',
    'Fecha' => 'Date',
    'Creado' => 'Created',
    'Expira' => 'Expires',
    'Mi Lista' => 'My List',
    'Playlists' => 'Playlists',
    'Sí' => 'Yes',

    // VPN
    'Servidores VPN' => 'VPN servers',
    'Añadir servidor VPN' => 'Add VPN server',
    'Editar servidor VPN' => 'Edit VPN server',
    'País' => 'Country',
    'Bandera' => 'Flag',
    'Config .ovpn' => 'OpenVPN config (.ovpn)',
    'Usuario (opcional)' => 'User (optional)',
    'Contraseña (opcional)' => 'Password (optional)',
    'Habilitado (visible en la app)' => 'Enabled (visible in the app)',
    'Habilitado' => 'Enabled',
    'Deshabilitado' => 'Disabled',
    'Aún no hay servidores VPN. Añade uno arriba.' => 'No VPN servers yet. Add one above.',
    'Pegá la config OpenVPN completa (' => 'Paste the full OpenVPN config (',

    // VPN — subida .ovpn / autodetección
    'Subir archivo .ovpn' => 'Upload .ovpn file',
    'Subí (o pegá) el' => 'Upload (or paste) the',
    'y se autocompleta el nombre y se detecta host, protocolo y si necesita usuario/clave. País y bandera son opcionales.'
        => 'the name auto-fills and host, protocol and whether it needs user/password are detected. Country and flag are optional.',
    '(auto desde el .ovpn)' => '(auto from the .ovpn)',
    '(opcional)' => '(optional)',
    '(requerido)' => '(required)',
    'requiere usuario/clave' => 'requires user/password',
    'sin usuario/clave' => 'no user/password',
    'Detectado:' => 'Detected:',
    'País (opcional)' => 'Country (optional)',
    'Servidor VPN creado.' => 'VPN server created.',
    'Servidor VPN actualizado.' => 'VPN server updated.',
    'Servidor VPN eliminado.' => 'VPN server deleted.',
    'Esta config usa auth-user-pass: usuario y contraseña son obligatorios.'
        => 'This config uses auth-user-pass: username and password are required.',
    'La config .ovpn es obligatoria.' => 'The .ovpn config is required.',
    'Nombre y config .ovpn son obligatorios.' => 'Name and .ovpn config are required.',

    // Ads — subida de imagen / vista previa
    'Vista' => 'Preview',
    'Imagen actual' => 'Current image',
    '…o subir imagen' => '…or upload image',
    'Si subís una imagen, reemplaza la URL. jpg/png/webp/gif, máx 5 MB. Se guarda en'
        => 'If you upload an image, it replaces the URL. jpg/png/webp/gif, max 5 MB. Saved in',
    'Anuncio creado.' => 'Ad created.',
    'Anuncio actualizado.' => 'Ad updated.',
    'Anuncio eliminado.' => 'Ad deleted.',
    'Título y URL (o imagen) son obligatorios.' => 'Title and URL (or image) are required.',

    // Settings
    'Tema por defecto' => 'Default theme',
    'Ajustes guardados.' => 'Settings saved.',

    // Fragmentos comunes (device_edit / listas)
    'credencial' => 'credential',
    'dispositivo' => 'device',
    'servidor' => 'server',
    ': URL directa a la lista.' => ': direct URL to the playlist.',
    ': elige un' => ': choose a',
    '(servidor) y escribe' => '(server) and type',

    // Login (este panel) + genéricos añadidos
    'Acceso · IBO Ultra Panel' => 'Sign in · IBO Ultra Panel',
    'Introduce usuario y contraseña.' => 'Enter your username and password.',
    'Credenciales incorrectas.' => 'Incorrect credentials.',
    'Idioma' => 'Language',
    'Contraseña' => 'Password',
    'Guardar' => 'Save',
    // Panel credentials (settings.php)
    'Credenciales del panel' => 'Panel credentials',
    'Usuario y contraseña de acceso al panel admin. Deja la contraseña en blanco para conservar la actual.' => 'Username and password to sign in to the admin panel. Leave the password blank to keep the current one.',
    'Contraseña actual' => 'Current password',
    'Nueva contraseña' => 'New password',
    'Repetir nueva contraseña' => 'Repeat new password',
    'Actualizar credenciales' => 'Update credentials',
    'Mín. 6 caracteres' => 'Min. 6 characters',
    'La contraseña actual es incorrecta.' => 'The current password is incorrect.',
    'El usuario no puede estar vacío.' => 'The username cannot be empty.',
    'La nueva contraseña debe tener al menos 6 caracteres.' => 'The new password must be at least 6 characters long.',
    'Las contraseñas nuevas no coinciden.' => 'The new passwords do not match.',
    'Ese usuario ya está en uso.' => 'That username is already in use.',
    'Credenciales actualizadas.' => 'Credentials updated.',
    // Settings flashes (faltaban)
    'Ajustes guardados.' => 'Settings saved.',
    'No se pudieron guardar los ajustes.' => 'Settings could not be saved.',

    // Activate by MAC (activate.php + nav)
    'Activar MAC' => 'Activate MAC',
    'Activar por MAC' => 'Activate by MAC',
    'Activar' => 'Activate',
    'Cliente' => 'Client',
    'MAC del cliente' => 'Client MAC',
    'La que muestra la app en pantalla.' => 'The one shown on the app screen.',
    'Nombre de la lista' => 'Playlist name',
    'Lista' => 'List',
    'Tipo' => 'Type',
    'Xtream (DNS + usuario/contraseña)' => 'Xtream (DNS + username/password)',
    'M3U (URL directa)' => 'M3U (direct URL)',
    'DNS / Servidor' => 'DNS / Server',
    '— Elegir DNS —' => '— Select DNS —',
    'No hay DNS cargados. Agregá uno en' => 'No DNS configured. Add one in',
    'URL M3U' => 'M3U URL',
    'Proteger lista (el cliente no ve las credenciales)' => "Protect playlist (the client won't see the credentials)",
    'Ver dispositivo' => 'View device',
    'MAC inválida. Usá el formato AA:BB:CC:DD:EE:FF (la que muestra la app).' => 'Invalid MAC. Use the format AA:BB:CC:DD:EE:FF (the one shown by the app).',
    'Falta la URL M3U.' => 'M3U URL is missing.',
    'Elegí un DNS y completá usuario y contraseña.' => 'Select a DNS and fill in username and password.',
    'Dispositivo activado y playlist asignada. Al abrir la app (o al reabrir Sports/Home) recibe la lista.' => 'Device activated and playlist assigned. When the app opens (or reopens), it receives the list.',
];
