From a0f67fae80032a7e123f9a4a1f4f9ed8c7ab6993 Mon Sep 17 00:00:00 2001 From: DerEchteAlec Date: Sat, 22 Aug 2026 03:40:23 +0200 Subject: [PATCH] FIX - synchronize Spanish locale with admin panel --- sky_phone/config/locales/es.lua | 99 ++++++++++++++++++++++++++++++++- 1 file changed, 97 insertions(+), 2 deletions(-) diff --git a/sky_phone/config/locales/es.lua b/sky_phone/config/locales/es.lua index 799c9e6..328fc45 100644 --- a/sky_phone/config/locales/es.lua +++ b/sky_phone/config/locales/es.lua @@ -1,5 +1,13 @@ Locales["es"] = { CommandDescription = "Abrir tu teléfono.", + AdminCommand = { + CommandDescription = "Administración y configuración de teléfono abierto.", + Errors = { + disabled = "El panel de administración del teléfono está desactivado.", + not_authorized = "No tiene acceso al panel de administración del teléfono.", + default = "El panel de administración del teléfono no pudo abrirse.", + }, + }, Controls = { OpenPhone = "Abrir teléfono", }, @@ -193,6 +201,28 @@ Locales["es"] = { contacts = { name = "Favoritos", description = "Llamar o enviar mensaje a tus contactos favoritos.", choose = "Contactos favoritos" }, }, }, + AdminPanel = { + name = "Administrador de teléfono", subtitle = "Administración", navigation = "Navegación del administrador", refresh = "Actualizar los datos del administrador", loading = "Cargar datos protegidos...", + tabs = { overview = "Sinopsis", players = "Los jugadores", devices = "Los dispositivos", apps = "Aplicaciones", accounts = "Cuentas", messages = "Mensajes", calls = "Las llamadas", moderation = "Moderación", audit = "Auditoría", configurator = "Configuración de teléfono" }, + overview = { eyebrow = "El servidor", title = "Tablero de control", body = "Jugadores, dispositivos, aplicaciones y datos telefónicos.", stats = "Estadísticas telefónicas del servidor", online = "En línea", devices = "Los dispositivos", accounts = "Cuentas", audit = "Entradas de auditoría", control = "Navegación", features = "Los módulos", featuresBody = "Abre un módulo de administración.", recent = "Actividad reciente", playerFeature = "Identidad, finanzas, trabajo y deber", deviceFeature = "IMEI, SIM, número y actividad", appFeature = "Instalar o eliminar aplicaciones telefónicas", accountFeature = "Acceso a la cuenta y credenciales protegidas", messageFeature = "Revisar la actividad reciente de SMS", callFeature = "Revisar la actividad reciente de las llamadas", moderationFeature = "Resetear datos de acceso, número o dispositivo", auditFeature = "Revisar las acciones del administrador sensibles", configuratorFeature = "Administrar config.lua y media.lua a través de SQL" }, + appearance = { eyebrow = "Apariencia", title = "Color de acento", body = "Cambia el acento en todo el espacio de trabajo del administrador.", colors = { emerald = "Esmeralda", blue = "Azul", violet = "Violeta", orange = "Naranja", red = "Rojo" } }, + configurator = { context = "Configuración de tiempo de ejecución", eyebrow = "Herramienta del sistema", sections = "Configuración", search = "Configuración de búsqueda o caminos", configScope = "config.lua", mediaScope = "media.lua", noResults = "Ninguna configuración correspondiente", loading = "Cargar la configuración de SQL...", title = "Configuración de teléfono", body = "Gestionar la configuración de teléfono y medios desde el espacio de trabajo de administrador protegido.", disabledTitle = "Configuración SQL no está activa", disabledBody = "Habilitar el configurador al principio de config.lua y reiniciar sky_phone. Hasta entonces, los valores del archivo permanecen activos y la edición está bloqueada.", manualSave = "Salvamiento manual", refreshNotice = "Nada se escribe automáticamente. La verificación verde verifica config.lua y media.lua en SQL y actualiza inmediatamente la configuración del servidor activo, el cliente, los medios y la interfaz de usuario.", fieldCount = "Campos {count}", secretConfigured = "Configuración secreta · introducir un reemplazo", invalidValue = "Comprueba el valor de la tabla o número resaltado.", saved = "Configuración SQL guardada y aplicada.", descriptions = { featureToggle = "Enciende o apaga {name}.", boolean = "Controla si {name} está permitido.", number = "Establece el valor numérico para {name}.", text = "Establece el valor de texto utilizado para {name}.", optionalText = "Establece el valor opcional para {name}; apague para desactivarlo.", list = "Gestiona todas las entradas utilizadas para {name}.", table = "Agrupa las configuraciones relacionadas para {name}.", credential = "Almacena la credencial protegida utilizada por {name}.", url = "Establece la URL o el punto final utilizado por {name}.", hosts = "Define qué dominios están permitidos para {name}.", milliseconds = "Establece el tiempo de {name} en milisegundos.", seconds = "Establece el tiempo de {name} en segundos.", rateLimit = "Limita la cantidad de acciones {name} permitidas por minuto.", byteLimit = "Establece el tamaño máximo de datos permitido para {name}.", textLimit = "Establece la longitud máxima de texto permitida para {name}.", distance = "Establece la distancia mundial utilizada para {name}.", coordinates = "Establece las coordenadas del mundo o la orientación para {name}.", gameAsset = "Establece el modelo GTA o el accesorio utilizado para {name}.", animation = "Establece el activo de animación utilizado para {name}.", access = "Define los puestos de trabajo, los grupos o el nivel de permiso para {name}.", integration = "Selecciona el marco o proveedor conectado para {name}.", path = "Establece la ruta de almacenamiento o recurso utilizada para {name}.", color = "Establece el color de interfaz utilizado para {name}.", displayText = "Establece el texto que se muestra a los jugadores para {name}.", phoneNumber = "Establece el número de teléfono o servicio utilizado para {name}.", routing = "Controla cómo se envía las solicitudes entrantes para {name}.", command = "Establece el comando de chat utilizado para abrir o ejecutar {name}.", locale = "Selecciona el idioma utilizado para {name}.", debug = "Controla el diagnóstico detallado de {name}.", mediaQuality = "Establece la calidad o volumen de los medios utilizados para {name}.", amount = "Establece la cantidad máxima o mostrada para {name}." }, table = { list = "Lista", table = "Mesa de llaves", vector = "Vector", entry = "Entrada", general = "Generales", addRow = "Añadir fila", addField = "Añadir campo", remove = "Eliminar", emptyList = "Aún no hay filas. Agregue la primera fila con más.", emptyTable = "Aún no hay campos. Añade la primera llave de abajo.", keyPlaceholder = "Nueva llave", convertToList = "Lista de uso", convertToMap = "Usa la tabla de teclas digitalizada", convertToTable = "Usa la tabla de teclas", types = { string = "El texto", number = "Número", boolean = "Cambiador", list = "Lista", table = "Cuadro" } } }, + players = { eyebrow = "sesiones activas", title = "Jugadores en línea", online = "En línea ahora", empty = "No se encontraron jugadores", emptyBody = "Ajusta la búsqueda o actualiza la lista de jugadores en vivo." }, + search = { players = "Nombre, identificación, trabajo o número de búsqueda", apps = "Aplicaciones de búsqueda", clear = "Limpiar búsqueda" }, + detail = { character = "Perfil de personaje", data = "Visión general de los datos de los jugadores", cash = "Efectivo", bank = "Banco", job = "El trabajo", duty = "Deuda", onDuty = "En servicio", offDuty = "Fuera de servicio", identity = "Identidad", playerData = "Datos del jugador", identifier = "Identificador de caracteres", birthdate = "Fecha de nacimiento", grade = "Grado de trabajo", unknown = "Desconocido" }, + devices = { eyebrow = "Control del dispositivo", title = "Los teléfonos", body = "Inspeccione todos los teléfonos asignados al jugador seleccionado.", choose = "Elige el teléfono", empty = "No hay teléfono encontrado", emptyBody = "Este jugador actualmente no tiene un dispositivo telefónico que pueda ser manejado.", noNumber = "No hay número de teléfono", noSim = "Sin SIM", imei = "IMEI", updated = "Última actividad", apps = "Aplicaciones reclamadas", account = "Cuenta vinculada" }, + credentials = { eyebrow = "Datos protegidos", title = "Las credenciales", email = "Correo electrónico iFruit", password = "Contraseña iFruit", reveal = "La revelación", copy = "Copia de contraseña", copied = "Se copió la contraseña.", noAccount = "Ninguna cuenta de iFruit está vinculada a este teléfono.", passcode = "Código de acceso del dispositivo", passcodeHashed = "PIN de dígito {length} · hashado de forma segura y no recuperable", passcodeDisabled = "No se ha configurado código de acceso", revealTitle = "¿Revelar una contraseña protegida?", revealBody = "Esta acción está autorizada por el servidor, limitada y escrita en el registro de auditoría del administrador.", cancel = "Cancelar", confirmReveal = "Revelar la contraseña" }, + apps = { eyebrow = "Gestión remota", title = "Acceso a la aplicación", description = "Acceso de la aplicación de etapa para este dispositivo. Nada cambia hasta que salvas.", installed = "Instalado", available = "Disponible", protected = "Aplicación del sistema", changes = "{count} cambios pendientes" }, + activity = { protected = "Actividad protegida", messagesTitle = "Mensajes", messagesBody = "Actividad de SMS reciente para la SIM seleccionada.", callsTitle = "Las llamadas", callsBody = "Actividad de llamada reciente para la tarjeta SIM seleccionada.", loading = "Actividad de carga...", incoming = "Entrantes", outgoing = "Saliendo", mediaMessage = "Mensaje {type}", noMessages = "No se encontró actividad de mensaje.", noCalls = "No se encontró actividad de llamadas.", status = { completed = "Terminado", missed = "Falló", rejected = "Rechazado", busy = "Ocupado", unanswered = "Sin respuesta", cancelled = "Cancelado", failed = "Falló", ringing = "El sonido" } }, + moderation = { + eyebrow = "Administración del dispositivo", title = "Acciones de moderación", body = "Cada acción es autorizada por el servidor, limitada y auditada.", resetPasscode = "Reset código de acceso", resetPasscodeBody = "Elimine el PIN del dispositivo y elimine los intentos fallidos.", changeNumber = "Número de cambio", changeNumberBody = "Asignar un nuevo número único a la tarjeta SIM actual.", factoryReset = "Reinicio de fábrica", factoryResetBody = "Eliminar los datos del dispositivo local y desconectar la cuenta.", saveFirst = "Guardar o desechar los cambios de aplicación pendientes primero.", phoneNumber = "Nuevo número de teléfono", phoneNumberPlaceholder = "Ingresa el número completo configurado", typeToConfirm = "Escriba {word} para confirmar el restablecimiento de fábrica.", confirmWord = "SET DE NUEVO", cancel = "Cancelar", ["reset-passcodeSuccess"] = "Resetear el código de acceso.", ["change-numberSuccess"] = "El número de teléfono cambió.", ["factory-resetSuccess"] = "El restablecimiento de fábrica del teléfono completado.", + dialogs = { ["reset-passcodeTitle"] = "¿Resetar el código de acceso del dispositivo?", ["reset-passcodeBody"] = "El jugador puede desbloquear este teléfono sin el PIN anterior después.", ["change-numberTitle"] = "¿Cambiar el número de teléfono?", ["change-numberBody"] = "El nuevo número debe coincidir con el formato de número de servidor configurado y ser único.", ["factory-resetTitle"] = "¿Reinicio de fábrica este teléfono?", ["factory-resetBody"] = "Esto elimina los datos locales del dispositivo, la configuración de la aplicación, la seguridad y la cuenta vinculada. Esto no se puede deshacer." }, + confirm = { ["reset-passcode"] = "Reset código de acceso", ["change-number"] = "Número de cambio", ["factory-reset"] = "Reinicio de fábrica" }, + }, + audit = { eyebrow = "Responsabilidad", title = "Trayectoria de auditoría", body = "Las revelaciones sensibles y los cambios remotos de la aplicación se registran aquí.", empty = "No hay acciones de administración todavía", emptyBody = "Las acciones protegidas aparecerán aquí después de que se realicen.", by = "{actor} · Identificación del objetivo {target}", actions = { grant_app = "Aplicación instalada", revoke_app = "Aplicación eliminada", reveal_account_password = "Se reveló la contraseña", view_messages = "Los mensajes vistos", view_calls = "Las llamadas vistas", reset_passcode = "Reset de código de acceso", change_number = "Cambió el número de teléfono", factory_reset = "Reinicio de fábrica de teléfono", save_configuration = "Configuración guardada" } }, + editor = { brand = "SKY PHONE", workspace = "ADMINISTRACIÓN", players = "Directorio de jugadores", audit = "Registro de auditoría", selectPlayer = "Selecciona un jugador para inspeccionar la identidad, los dispositivos, las credenciales y el acceso a la aplicación.", save = "Guardar cambios", saveHint = "Aplicar los cambios pendientes", saved = "Cambios guardados.", unsaved = "Cambios no guardados", close = "Cerrar el panel de administración", refresh = "Actualizar los datos en vivo", online = "VIVIENDO", profile = "PROFILES", financial = "FINANCIERO", device = "DISPOSITIVO", security = "LA SEGURIDAD", noAutoSave = "Salvamiento manual", noAutoSaveBody = "Los cambios permanecen locales hasta que se presione el cheque verde.", discardTitle = "¿Deshacerse de los cambios no salvos?", discardBody = "No se han guardado los cambios de configuración de su aplicación en etapas.", keepEditing = "Sigue editando", discard = "Rechazar los cambios", saveFailed = "Algunos cambios no se pudieron salvar.", noSelection = "Ningún jugador seleccionado" }, + errors = { not_authorized = "No tiene acceso al panel de administración.", rate_limited = "Demasiadas solicitudes de administración. Por favor, espera.", player_unavailable = "Ese jugador ya no está en línea.", device_not_owned = "Ese teléfono ya no pertenece al jugador seleccionado.", invalid_app = "Esa aplicación no está registrada en el servidor.", app_protected = "Esta aplicación del sistema no se puede eliminar.", revision_conflict = "Los datos han cambiado mientras tanto. Vuelve a abrir la sección y vuelve a intentarlo.", configurator_disabled = "Habilitar el configurador de teléfono en config.lua primero.", invalid_field = "Ese campo de configuración ya no está disponible.", invalid_value = "Un valor de configuración es inválido.", account_not_found = "Ninguna cuenta de iFruit está vinculada a este teléfono.", invalid_phone_number = "Ingresa un número de teléfono en el formato de servidor configurado.", phone_number_unchanged = "Este SIM ya usa ese número de teléfono.", phone_number_taken = "Ese número de teléfono ya está asignado.", no_sim = "Este teléfono no tiene tarjeta SIM que se pueda cambiar.", passcode_not_set = "Este teléfono no tiene un código de acceso configurado.", device_not_found = "Este teléfono ya no existe.", metadata_unsupported = "Los metadatos del inventario telefónico no pudieron actualizarse.", invalid_request = "La solicitud del administrador fue inválida.", request_failed = "La solicitud del administrador falló.", default = "El panel de administración no está disponible temporalmente." }, + }, Apps = { health = { name = "Salud", @@ -1626,7 +1656,7 @@ Locales["es"] = { }, }, localPages = { - name = "Páginas locales", eyebrow = "Tu ciudad. Tus historias.", cityPulse = "En vivo desde Los Santos", + name = "Local Pages", eyebrow = "Tu ciudad. Tus historias.", cityPulse = "En vivo desde Los Santos", heroTitle = "¿Qué está pasando cerca?", heroBody = "Descubre lugares, personas y consejos locales.", searchPlaceholder = "Buscar publicaciones y lugares", search = "Buscar", allCategories = "Todas las categorías", allLosSantos = "Los Santos", hoursAgo = "hace {count} h", daysAgo = "hace {count} d", @@ -1953,7 +1983,7 @@ Locales["es"] = { flare = { first = "Descubre personas", second = "Coincidencias", third = "Momentos en vivo" }, calendar = { first = "Eventos próximos", second = "Planificador diario", third = "Recordatorios" }, radio = { first = "Canales en vivo", second = "Radio de equipo", third = "Favoritos" }, - ["local-pages"] = { first = "Páginas locales", second = "Reseñas", third = "Descubrimiento de la ciudad" }, + ["local-pages"] = { first = "Local Pages", second = "Reseñas", third = "Descubrimiento de la ciudad" }, crewlink = { first = "Lista de tripulación", second = "Ubicaciones compartidas", third = "Coordinación" }, phone = { first = "Llamadas recientes", second = "Contactos", third = "Correo de voz" }, messages = { first = "Conversaciones", second = "Compartir medios", third = "Respuestas rápidas" }, @@ -2108,3 +2138,68 @@ Locales["es"] = { }, } +Locales["es"].Nui.AdminPanel.configurator.table.subtabs = { + AdminGroups = "Grupos de administradores", + Dictionaries = "Diccionarios", + Clips = "Los clips", + Transforms = "Transformaciones", + RateLimits = "Límites de las tasas", + Publishers = "Los editores", + ExternalPingResources = "Recursos de ping externos", + Markets = "Mercados", + TrustedAdapters = "Adaptadores confiables", + AllowedDisappearTimers = "Los temporizadores pueden desaparecer", + MusicTracks = "Las pistas de música", + VehicleImages = "Imágenes del vehículo", + Custom = "Artículo siguiente", + Valet = "Valete", + AutoPriority = "Prioridad automática", + Camera = "Cámara", + Categories = "Categorías", + Districts = "Distritos", + PhotoGradients = "Fotografía Gradientes", + LbPhone = "Telefono LB", + Tracks = "Las huellas", + Props = "Requisitos", + CustomLocations = "Lugares personalizados", + Animation = "Animación", + ReportReasons = "Las razones del informe", + DisplayName = "Nombre de la pantalla", + Hud = "HUD", + Badge = "El distintivo", + LockedChannels = "Canales cerrados", + NumberGroups = "Grupos de número", + CustomFare = "Tarifas personalizadas", + DriverJobs = "Trabajos de conductor", + Services = "Servicios", + QuickLocations = "Localizaciones rápidas", + AllowedJobs = "Trabajos permitidos", + Websites = "Las páginas web", +} + +Locales["es"].Nui.AdminPanel.appearance.title = "Interfaz" +Locales["es"].Nui.AdminPanel.appearance.body = "Personaliza los colores y la tipografía en el espacio de trabajo del administrador." +Locales["es"].Nui.AdminPanel.appearance.controls = { + customColor = "Color personalizado", + customColorBody = "Seleccione cualquier acento RGB o ingrese sus valores de canal.", + red = "R", + green = "G", + blue = "EN EL CASO DE B", + hex = "El color HEX", + value = "el valor", + fontFamily = "Familia de fuentes", + fontFamilyBody = "Seleccione la tipografía utilizada por el panel de administración completo.", + fontSize = "Tamaño de fuente", + fontSizeBody = "Escala el texto y los controles para una fácil legibilidad.", + fonts = { + inter = "Inter", + system = "El sistema", + classic = "Clásico", + verdana = "Verdana", + tahoma = "Tahoma", + trebuchet = "Arbúsqueda", + georgia = "Georgia", + mono = "Monospacio", + }, +} +