Feature: Traducir todas las vistas - parte 2

- admin_send_message.php: formulario, modal galería
- telegram/admin/telegram_bot_interactions.php: configuración bot
- telegram/admin/telegram_welcome.php: mensajes bienvenida, modales
This commit is contained in:
2026-02-20 16:05:51 -06:00
parent 2dd99c04dd
commit e8213b916b
3 changed files with 48 additions and 48 deletions

View File

@@ -70,7 +70,7 @@ function buildDiscordTranslationButtons(array $languages, string $text): array
];
}
$pageTitle = 'Enviar Mensaje Directo';
$pageTitle = t('Enviar Mensaje Directo');
$recipients = [];
$galleryImages = [];
@@ -218,7 +218,7 @@ require_once __DIR__ . '/templates/header.php';
?>
<div class="d-flex justify-content-between align-items-center mb-4">
<h2><i class="bi bi-send"></i> Enviar Mensaje Directo</h2>
<h2><i class="bi bi-send"></i> <?= t('Enviar Mensaje Directo') ?></h2>
</div>
<?php if ($success): ?>
@@ -233,28 +233,28 @@ require_once __DIR__ . '/templates/header.php';
<div class="card border-0 shadow-sm">
<div class="card-body">
<div class="mb-3">
<label class="form-label">Plataforma</label>
<label class="form-label"><?= t('Plataforma') ?></label>
<select name="platform" id="platformSelect" class="form-select" required>
<option value="">-- Seleccionar --</option>
<option value="">-- <?= t('Seleccionar') ?> --</option>
<option value="discord">Discord</option>
<option value="telegram">Telegram</option>
</select>
</div>
<div class="mb-3">
<label class="form-label">Destinatario</label>
<label class="form-label"><?= t('Destinatario') ?></label>
<select name="recipient_id" id="recipientSelect" class="form-select" required disabled>
<option value="">Selecciona una plataforma primero</option>
<option value=""><?= t('Selecciona una plataforma primero') ?></option>
</select>
</div>
<div class="mb-3">
<label class="form-label">Mensaje</label>
<label class="form-label"><?= t('Mensaje') ?></label>
<textarea name="content" id="messageContent" class="form-control" rows="10" required></textarea>
</div>
<button type="submit" class="btn btn-primary">
<i class="bi bi-send"></i> Enviar Ahora
<i class="bi bi-send"></i> <?= t('Enviar Ahora') ?>
</button>
</div>
</div>
@@ -265,7 +265,7 @@ require_once __DIR__ . '/templates/header.php';
<div class="modal-dialog modal-lg modal-dialog-scrollable">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><i class="bi bi-images"></i> Galería de Imágenes</h5>
<h5 class="modal-title"><i class="bi bi-images"></i> <?= t('Galería de Imágenes') ?></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
@@ -273,7 +273,7 @@ require_once __DIR__ . '/templates/header.php';
<?php if (empty($galleryImages)): ?>
<div class="col-12 text-center text-muted py-5">
<i class="bi bi-images" style="font-size: 3rem;"></i>
<p class="mt-3">No hay imágenes en la galería</p>
<p class="mt-3"><?= t('No hay imágenes en la galería') ?></p>
</div>
<?php else: ?>
<?php foreach ($galleryImages as $image): ?>

View File

@@ -33,7 +33,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$stmt->execute([$messageText, $buttonText, $groupInviteLink, $isActive, $registerUsers]);
logActivity(getCurrentUserId(), 'update_telegram_config', 'Configuración del bot de Telegram actualizada');
$success = 'Configuración guardada correctamente';
$success = t('Configuración guardada correctamente');
$stmt = $pdo->query("SELECT * FROM telegram_bot_messages WHERE id = 1");
$config = $stmt->fetch();
@@ -43,7 +43,7 @@ require_once __DIR__ . '/../../templates/header.php';
?>
<div class="d-flex justify-content-between align-items-center mb-4">
<h2><i class="bi bi-telegram"></i> Configuración del Bot de Telegram</h2>
<h2><i class="bi bi-telegram"></i> <?= t('Configuración del Bot de Telegram') ?></h2>
</div>
<?php if ($success): ?>
@@ -56,47 +56,47 @@ require_once __DIR__ . '/../../templates/header.php';
<form method="POST">
<div class="card border-0 shadow-sm mb-4">
<div class="card-header bg-white border-0">
<h5 class="mb-0">Mensaje de Bienvenida</h5>
<div class="card-header border-0">
<h5 class="mb-0"><?= t('Mensaje de Bienvenida') ?></h5>
</div>
<div class="card-body">
<div class="mb-3">
<label class="form-label">Mensaje de bienvenida</label>
<label class="form-label"><?= t('Mensaje de bienvenida') ?></label>
<textarea name="message_text" class="form-control" rows="5"><?= htmlspecialchars($config['message_text'] ?? '') ?></textarea>
<small class="text-muted">Usa <code>{user_name}</code> para el nombre del usuario</small>
<small class="text-muted"><?= t('Usa') ?> <code>{user_name}</code> <?= t('para el nombre del usuario') ?></small>
</div>
<div class="mb-3">
<label class="form-label">Texto del botón</label>
<input type="text" name="button_text" class="form-control" value="<?= htmlspecialchars($config['button_text'] ?? '') ?>" placeholder="Unirse al grupo">
<label class="form-label"><?= t('Texto del botón') ?></label>
<input type="text" name="button_text" class="form-control" value="<?= htmlspecialchars($config['button_text'] ?? '') ?>" placeholder="<?= t('Unirse al grupo') ?>">
</div>
<div class="mb-3">
<label class="form-label">Enlace de invitación al grupo</label>
<label class="form-label"><?= t('Enlace de invitación al grupo') ?></label>
<input type="text" name="group_invite_link" class="form-control" value="<?= htmlspecialchars($config['group_invite_link'] ?? '') ?>" placeholder="https://t.me/...">
</div>
</div>
</div>
<div class="card border-0 shadow-sm mb-4">
<div class="card-header bg-white border-0">
<h5 class="mb-0">Opciones</h5>
<div class="card-header border-0">
<h5 class="mb-0"><?= t('Opciones') ?></h5>
</div>
<div class="card-body">
<div class="form-check form-switch mb-3">
<input class="form-check-input" type="checkbox" name="is_active" id="isActive" <?= ($config['is_active'] ?? true) ? 'checked' : '' ?>>
<label class="form-check-label" for="isActive">Mensaje de bienvenida activo</label>
<label class="form-check-label" for="isActive"><?= t('Mensaje de bienvenida activo') ?></label>
</div>
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" name="register_users" id="registerUsers" <?= ($config['register_users'] ?? true) ? 'checked' : '' ?>>
<label class="form-check-label" for="registerUsers">Registrar usuarios automáticamente</label>
<label class="form-check-label" for="registerUsers"><?= t('Registrar usuarios automáticamente') ?></label>
</div>
</div>
</div>
<button type="submit" class="btn btn-primary">
<i class="bi bi-save"></i> Guardar Configuración
<i class="bi bi-save"></i> <?= t('Guardar Configuración') ?>
</button>
</form>

View File

@@ -79,9 +79,9 @@ require_once __DIR__ . '/../../templates/header.php';
?>
<div class="d-flex justify-content-between align-items-center mb-4">
<h2><i class="bi bi-telegram"></i> Mensajes de Bienvenida por Grupo</h2>
<h2><i class="bi bi-telegram"></i> <?= t('Mensajes de Bienvenida por Grupo') ?></h2>
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#welcomeModal">
<i class="bi bi-plus-circle"></i> Nuevo Mensaje
<i class="bi bi-plus-circle"></i> <?= t('Nuevo Mensaje') ?>
</button>
</div>
@@ -92,19 +92,19 @@ require_once __DIR__ . '/../../templates/header.php';
<div class="row">
<?php if (empty($welcomeMessages)): ?>
<div class="col-12">
<p class="text-muted text-center py-4">No hay mensajes de bienvenida configurados</p>
<p class="text-muted text-center py-4"><?= t('No hay mensajes de bienvenida configurados') ?></p>
</div>
<?php else: ?>
<?php foreach ($welcomeMessages as $msg): ?>
<div class="col-md-6 mb-4">
<div class="card border-0 shadow-sm">
<div class="card-header bg-white border-0 d-flex justify-content-between align-items-center">
<h6 class="mb-0"><?= htmlspecialchars($msg['flag_emoji'] ?? '') ?> <?= htmlspecialchars($msg['language_name'] ?? 'Grupo') ?></h6>
<div class="card-header border-0 d-flex justify-content-between align-items-center">
<h6 class="mb-0"><?= htmlspecialchars($msg['flag_emoji'] ?? '') ?> <?= htmlspecialchars($msg['language_name'] ?? t('Grupo')) ?></h6>
<div class="btn-group btn-group-sm">
<button class="btn btn-outline-primary" data-bs-toggle="modal" data-bs-target="#editModal<?= $msg['id'] ?>">
<i class="bi bi-pencil"></i>
</button>
<form method="POST" onsubmit="return confirm('¿Eliminar?');" class="d-inline">
<form method="POST" onsubmit="return confirm('<?= t('¿Eliminar?') ?>');" class="d-inline">
<input type="hidden" name="action" value="delete">
<input type="hidden" name="id" value="<?= $msg['id'] ?>">
<button type="submit" class="btn btn-outline-danger">
@@ -116,7 +116,7 @@ require_once __DIR__ . '/../../templates/header.php';
<div class="card-body">
<p class="text-muted small mb-1">Chat ID: <?= $msg['chat_id'] ?></p>
<p class="mb-1"><?= nl2br(htmlspecialchars($msg['welcome_message'] ?? '')) ?></p>
<small class="text-muted"><?= $msg['is_active'] ? '✅ Activo' : '❌ Inactivo' ?></small>
<small class="text-muted"><?= $msg['is_active'] ? '✅ ' . t('Activo') : '❌ ' . t('Inactivo') ?></small>
</div>
</div>
</div>
@@ -128,29 +128,29 @@ require_once __DIR__ . '/../../templates/header.php';
<input type="hidden" name="action" value="update">
<input type="hidden" name="id" value="<?= $msg['id'] ?>">
<div class="modal-header">
<h5 class="modal-title">Editar Mensaje</h5>
<h5 class="modal-title"><?= t('Editar Mensaje') ?></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<div class="mb-3">
<label class="form-label">Mensaje de bienvenida</label>
<label class="form-label"><?= t('Mensaje de bienvenida') ?></label>
<textarea name="welcome_message" class="form-control" rows="3"><?= htmlspecialchars($msg['welcome_message'] ?? '') ?></textarea>
</div>
<div class="mb-3">
<label class="form-label">Texto del botón</label>
<label class="form-label"><?= t('Texto del botón') ?></label>
<input type="text" name="button_text" class="form-control" value="<?= htmlspecialchars($msg['button_text'] ?? '') ?>">
</div>
<div class="mb-3">
<label class="form-label">Enlace de invitación</label>
<label class="form-label"><?= t('Enlace de invitación') ?></label>
<input type="text" name="group_invite_link" class="form-control" value="<?= htmlspecialchars($msg['group_invite_link'] ?? '') ?>">
</div>
<div class="row mb-3">
<div class="col-4">
<label class="form-label">Código idioma</label>
<label class="form-label"><?= t('Código idioma') ?></label>
<input type="text" name="language_code" class="form-control" value="<?= htmlspecialchars($msg['language_code'] ?? 'es') ?>">
</div>
<div class="col-4">
<label class="form-label">Nombre idioma</label>
<label class="form-label"><?= t('Nombre idioma') ?></label>
<input type="text" name="language_name" class="form-control" value="<?= htmlspecialchars($msg['language_name'] ?? 'Español') ?>">
</div>
<div class="col-4">
@@ -160,11 +160,11 @@ require_once __DIR__ . '/../../templates/header.php';
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="is_active" id="editActive<?= $msg['id'] ?>" <?= $msg['is_active'] ? 'checked' : '' ?>>
<label class="form-check-label" for="editActive<?= $msg['id'] ?>">Activo</label>
<label class="form-check-label" for="editActive<?= $msg['id'] ?>"><?= t('Activo') ?></label>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">Guardar</button>
<button type="submit" class="btn btn-primary"><?= t('Guardar') ?></button>
</div>
</form>
</div>
@@ -180,33 +180,33 @@ require_once __DIR__ . '/../../templates/header.php';
<form method="POST">
<input type="hidden" name="action" value="add">
<div class="modal-header">
<h5 class="modal-title">Nuevo Mensaje de Bienvenida</h5>
<h5 class="modal-title"><?= t('Nuevo Mensaje de Bienvenida') ?></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<div class="mb-3">
<label class="form-label">Chat ID del grupo</label>
<label class="form-label"><?= t('Chat ID del grupo') ?></label>
<input type="text" name="chat_id" class="form-control" required>
</div>
<div class="mb-3">
<label class="form-label">Mensaje de bienvenida</label>
<label class="form-label"><?= t('Mensaje de bienvenida') ?></label>
<textarea name="welcome_message" class="form-control" rows="3" required></textarea>
</div>
<div class="mb-3">
<label class="form-label">Texto del botón</label>
<label class="form-label"><?= t('Texto del botón') ?></label>
<input type="text" name="button_text" class="form-control">
</div>
<div class="mb-3">
<label class="form-label">Enlace de invitación</label>
<label class="form-label"><?= t('Enlace de invitación') ?></label>
<input type="text" name="group_invite_link" class="form-control">
</div>
<div class="row mb-3">
<div class="col-4">
<label class="form-label">Código idioma</label>
<label class="form-label"><?= t('Código idioma') ?></label>
<input type="text" name="language_code" class="form-control" value="es">
</div>
<div class="col-4">
<label class="form-label">Nombre idioma</label>
<label class="form-label"><?= t('Nombre idioma') ?></label>
<input type="text" name="language_name" class="form-control" value="Español">
</div>
<div class="col-4">
@@ -216,11 +216,11 @@ require_once __DIR__ . '/../../templates/header.php';
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="is_active" id="newActive" checked>
<label class="form-check-label" for="newActive">Activo</label>
<label class="form-check-label" for="newActive"><?= t('Activo') ?></label>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">Agregar</button>
<button type="submit" class="btn btn-primary"><?= t('Agregar') ?></button>
</div>
</form>
</div>