Files
sld-blocknotes/functions/lang.php
T
2026-08-20 09:02:05 +01:00

725 lines
40 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
/**
* Multilingual System Helper (IT, EN, ES, FR)
*/
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
/**
* Get current user language code.
*/
function get_current_lang() {
$user = $_SESSION['user'] ?? null;
$lang = $user['language'] ?? $_SESSION['guest_language'] ?? 'it';
if (!in_array($lang, ['it', 'en', 'es', 'fr'])) {
$lang = 'it';
}
return $lang;
}
/**
* Set guest/active language.
*/
function set_active_lang($lang) {
if (in_array($lang, ['it', 'en', 'es', 'fr'])) {
if (isset($_SESSION['user'])) {
$_SESSION['user']['language'] = $lang;
global $conn;
if (isset($conn) && !empty($_SESSION['user']['id'])) {
$stmt = $conn->prepare("UPDATE users SET language = ? WHERE id = ?");
$stmt->bind_param("si", $lang, $_SESSION['user']['id']);
$stmt->execute();
$stmt->close();
}
} else {
$_SESSION['guest_language'] = $lang;
}
}
}
/**
* Translations Dictionary
*/
function get_translations() {
return [
'it' => [
// Login Page
'login_title' => 'Accedi a Blocknotes',
'login_subtitle' => 'Gestisci le tue note e i tuoi comandi',
'label_username' => 'Nome Utente',
'label_password' => 'Password',
'placeholder_username' => 'Inserisci username',
'placeholder_password' => 'Inserisci password',
'btn_submit_login' => '🔑 Accedi',
'login_hint_footer' => 'Accredito predefinito per il primo accesso',
'login_installed_success' => '🎉 Setup completato! Accedi con le credenziali create.',
// Navbar
'nav_blocknotes' => '📓 Blocknotes',
'nav_colors_profile' => '🎨 Colori & Profilo',
'nav_admin' => '👑 Gestione Utenti',
'nav_logout' => '🚪 Esci',
'nav_login' => '🔑 Accedi',
'nav_language' => '🌐 Lingua',
// Dashboard (home)
'dashboard_title_user' => 'I Miei Blocknotes',
'dashboard_title_admin' => 'Tutti i Blocknotes (Vista Admin)',
'dashboard_desc_user' => 'Crea, organizza e consulta i tuoi blocknotes.',
'dashboard_desc_admin' => 'In qualità di Admin puoi visualizzare, gestire ed eliminare i blocknotes di tutti gli utenti.',
'btn_new_blocknote' => ' Nuovo Blocknote',
'btn_import_json' => '📥 Importa JSON',
'btn_export_json' => '💾 Esporta JSON',
'btn_open_edit' => '👁️ Apri & Modifica',
'btn_rename' => '✏️ Rinomina',
'btn_delete' => '🗑️ Elimina',
'empty_blocknotes_title' => 'Nessun Blocknote trovato',
'empty_blocknotes_desc_user' => 'Non hai ancora creato nessun blocknote. Inizia subito!',
'empty_blocknotes_desc_admin' => 'Non ci sono ancora blocknotes salvati nel sistema.',
'modal_create_title' => ' Crea Nuovo Blocknote',
'modal_rename_title' => '✏️ Rinomina Blocknote',
'modal_import_title' => '📥 Importa Blocknote (JSON)',
'label_title' => 'Titolo Blocknote',
'label_file_json' => 'Carica File .json',
'label_paste_json' => 'Oppure incolla qui il codice JSON',
'btn_cancel' => 'Annulla',
'btn_save' => 'Salva',
'btn_create' => 'Crea Blocknote',
'btn_import' => 'Importa Blocknote',
'note_single' => 'Nota',
'note_plural' => 'Note',
// View Blocknote
'btn_back_list' => '⬅️ Torna ai Blocknotes',
'btn_expand_all' => '📂 Espandi Tutte',
'btn_collapse_all' => '📁 Riduci Tutte',
'btn_new_note' => ' Nuova Nota',
'btn_add_subnote' => ' Sottonota',
'subnote_single' => 'sottonota',
'subnote_plural' => 'sottonote',
'badge_text' => '📄 Testo',
'badge_command' => '⚡ Comando',
'btn_copy' => '📋 Copia',
'btn_copied' => '✓ Copiato!',
'search_placeholder' => '🔍 Cerca note, sottonote o comandi in questo blocknote...',
'btn_clear_search' => '❌ Annulla Cerca',
'search_no_results' => 'Nessun risultato trovato',
'search_no_results_desc' => 'Nessuna nota o comando corrisponde al termine cercato in questo blocknote.',
'modal_add_note' => ' Nuova Nota a Blocchi',
'modal_edit_note' => '✏️ Modifica Nota',
'modal_add_subnote' => ' Aggiungi Sottonota',
'modal_edit_subnote' => '✏️ Modifica Sottonota',
'label_note_description' => 'Descrizione (opzionale)',
'label_subnote_title' => 'Titolo Sottonota',
'label_subnote_type' => 'Tipo di Sottonota',
'label_subnote_content' => 'Contenuto',
'type_option_text' => '📄 Testo generico',
'type_option_command' => '⚡ Comando (con pulsante Copia)',
// Profile & Settings
'profile_title' => '🎨 Impostazioni Profilo & Tema',
'profile_desc' => 'Personalizza password, colori dell\'interfaccia, lingua e pagina di avvio.',
'card_password_title' => '🔒 Cambio Password',
'card_colors_title' => '🎨 Personalizza Colori Interfaccia (HSL)',
'card_lang_title' => '🌍 Lingua dell\'Interfaccia',
'card_landing_title' => '🏠 Pagina di Primo Accesso (Landing Page)',
'label_new_pass' => 'Nuova Password',
'label_confirm_pass' => 'Conferma Nuova Password',
'label_select_lang' => 'Seleziona Lingua',
'label_select_landing' => 'Seleziona Pagina di Avvio',
'landing_option_dashboard' => '📋 Pagina Principale (Tutti i Blocknotes)',
'landing_option_bn_prefix' => '📌 Apri direttamente: ',
'btn_update_pass' => '🔑 Aggiorna Password',
'btn_save_colors' => '💾 Salva Preferenze Colori',
'btn_save_lang' => '🌍 Salva Lingua',
'btn_save_landing' => '🏠 Salva Pagina di Avvio',
// Admin Users
'admin_title' => '👑 Pannello Amministrazione Utenti',
'admin_desc' => 'Crea, gestisci e modifica i ruoli e gli accessi degli utenti.',
'btn_add_user' => ' Aggiungi Nuovo Utente',
'col_username' => 'Nome Utente',
'col_role' => 'Ruolo',
'col_bns' => 'Blocknotes Creati',
'col_created' => 'Data Registrazione',
'col_actions' => 'Azioni Admin',
'role_standard' => 'Standard User',
'role_admin' => 'Administrator',
'role_owner' => '👑 Owner (Proprietario)',
'badge_owner' => '👑 Owner',
'btn_reset_pass' => '🔑 Reset Pass',
'modal_create_user' => ' Registra Nuovo Utente',
'modal_reset_pass' => '🔑 Reset Password Utente',
// Confirm Dialogs
'confirm_delete_blocknote' => 'Sei sicuro di voler eliminare questo blocknote e tutte le sue note?',
'confirm_delete_note' => 'Sei sicuro di voler eliminare questa nota e tutte le sue sottonote?',
'confirm_delete_subnote' => 'Sei sicuro di voler eliminare questa sottonota?',
'confirm_delete_user' => 'Sei sicuro di voler eliminare questo utente?',
// Placeholders
'placeholder_bn_title' => 'Es. Comandi Server Linux, Note Progetto PHP...',
'placeholder_rename_title' => 'Nuovo titolo...',
'placeholder_import_title' => 'Es. Positive Internet',
'placeholder_paste_json' => 'Incolla qui il JSON nel vecchio o nuovo formato...',
'placeholder_note_title' => 'Es. Installazione MySQL, Server Setup...',
'placeholder_note_desc' => 'Breve descrizione di questo blocco di note...',
'placeholder_subnote_title' => 'Es. Comando creazione database, Note configurazione...',
'placeholder_subnote_content' => 'Inserisci il testo o le istruzioni del comando...',
'placeholder_site_title' => 'Es. Blocknotes, Enterprise Notes...',
'placeholder_username_new' => 'es. mario, giuseppe...',
'placeholder_password_new' => 'Inserisci nuova password',
'placeholder_password_confirm' => 'Ripeti nuova password',
// Extra Labels
'label_owner_prefix' => 'Proprietario: ',
'label_updated_prefix' => 'Ultimo aggiornamento: ',
'label_you' => 'Tu',
'label_unknown' => 'Sconosciuto',
'label_current_favicon' => 'Favicon Attuale: ',
// First Start Installer Setup
'setup_title' => '🚀 Setup Iniziale Blocknotes',
'setup_subtitle' => 'Configura il database MySQL e crea i primi utenti privilegiati (Owner & Admin).',
'setup_sec1_title' => '1. Configurazione Database MySQL',
'setup_db_host' => 'Host Database',
'setup_db_name' => 'Nome Database',
'setup_db_user' => 'Utente MySQL',
'setup_db_pass' => 'Password MySQL',
'setup_db_pass_placeholder' => 'Password (lascia vuoto se nessuna)',
'setup_sec2_title' => '2. Account Owner (Proprietario Unico)',
'setup_owner_user' => 'Username Owner',
'setup_owner_pass' => 'Password Owner',
'setup_owner_pass_placeholder' => 'Inserisci password per Owner',
'setup_sec3_title' => '3. Primo Account Amministratore (Admin)',
'setup_admin_user' => 'Username Admin',
'setup_admin_pass' => 'Password Admin',
'setup_admin_pass_placeholder' => 'Inserisci password per Admin',
'setup_btn_submit' => '⚡ Completa Installazione & Configura Sistema',
'err_setup_db_fields' => 'Compila tutti i dati di connessione al Database MySQL.',
'err_setup_owner_fields' => 'Inserisci username e password per l\'utente Owner (Proprietario).',
'err_setup_admin_fields' => 'Inserisci username e password per il primo utente Admin.',
'err_setup_same_user' => 'L\'utente Owner e l\'utente Admin devono avere nomi utente differenti.',
'err_setup_write_permissions' => 'Impossibile scrivere il file config/settings.php. Verifica i permessi di scrittura sulla cartella.'
],
'en' => [
// Login Page
'login_title' => 'Login to Blocknotes',
'login_subtitle' => 'Manage your notes and commands',
'label_username' => 'Username',
'label_password' => 'Password',
'placeholder_username' => 'Enter username',
'placeholder_password' => 'Enter password',
'btn_submit_login' => '🔑 Login',
'login_hint_footer' => 'Default first login credential',
'login_installed_success' => '🎉 Setup completed! Login with your created credentials.',
// Navbar
'nav_blocknotes' => '📓 Blocknotes',
'nav_colors_profile' => '🎨 Colors & Profile',
'nav_admin' => '👑 User Management',
'nav_logout' => '🚪 Logout',
'nav_login' => '🔑 Login',
'nav_language' => '🌐 Language',
// Dashboard (home)
'dashboard_title_user' => 'My Blocknotes',
'dashboard_title_admin' => 'All Blocknotes (Admin View)',
'dashboard_desc_user' => 'Create, organize, and view your blocknotes.',
'dashboard_desc_admin' => 'As an Admin you can view, manage, and delete blocknotes of all users.',
'btn_new_blocknote' => ' New Blocknote',
'btn_import_json' => '📥 Import JSON',
'btn_export_json' => '💾 Export JSON',
'btn_open_edit' => '👁️ Open & Edit',
'btn_rename' => '✏️ Rename',
'btn_delete' => '🗑️ Delete',
'empty_blocknotes_title' => 'No Blocknotes found',
'empty_blocknotes_desc_user' => 'You haven\'t created any blocknote yet. Start now!',
'empty_blocknotes_desc_admin' => 'There are no blocknotes saved in the system yet.',
'modal_create_title' => ' Create New Blocknote',
'modal_rename_title' => '✏️ Rename Blocknote',
'modal_import_title' => '📥 Import Blocknote (JSON)',
'label_title' => 'Blocknote Title',
'label_file_json' => 'Upload .json File',
'label_paste_json' => 'Or paste JSON code here',
'btn_cancel' => 'Cancel',
'btn_save' => 'Save',
'btn_create' => 'Create Blocknote',
'btn_import' => 'Import Blocknote',
'note_single' => 'Note',
'note_plural' => 'Notes',
// View Blocknote
'btn_back_list' => '⬅️ Back to Blocknotes',
'btn_expand_all' => '📂 Expand All',
'btn_collapse_all' => '📁 Collapse All',
'btn_new_note' => ' New Note',
'btn_add_subnote' => ' Subnote',
'subnote_single' => 'subnote',
'subnote_plural' => 'subnotes',
'badge_text' => '📄 Text',
'badge_command' => '⚡ Command',
'btn_copy' => '📋 Copy',
'btn_copied' => '✓ Copied!',
'search_placeholder' => '🔍 Search notes, subnotes, or commands in this blocknote...',
'btn_clear_search' => '❌ Clear Search',
'search_no_results' => 'No results found',
'search_no_results_desc' => 'No notes or commands match your search term in this blocknote.',
'modal_add_note' => ' New Block Note',
'modal_edit_note' => '✏️ Edit Note',
'modal_add_subnote' => ' Add Subnote',
'modal_edit_subnote' => '✏️ Edit Subnote',
'label_note_description' => 'Description (optional)',
'label_subnote_title' => 'Subnote Title',
'label_subnote_type' => 'Subnote Type',
'label_subnote_content' => 'Content',
'type_option_text' => '📄 Generic Text',
'type_option_command' => '⚡ Command (with Copy button)',
// Profile & Settings
'profile_title' => '🎨 Profile & Theme Settings',
'profile_desc' => 'Customize password, UI colors, language, and default landing page.',
'card_password_title' => '🔒 Change Password',
'card_colors_title' => '🎨 Interface Colors (HSL)',
'card_lang_title' => '🌍 Interface Language',
'card_landing_title' => '🏠 Default Landing Page',
'label_new_pass' => 'New Password',
'label_confirm_pass' => 'Confirm New Password',
'label_select_lang' => 'Select Language',
'label_select_landing' => 'Select Landing Page',
'landing_option_dashboard' => '📋 Main Selection Page (All Blocknotes)',
'landing_option_bn_prefix' => '📌 Open directly: ',
'btn_update_pass' => '🔑 Update Password',
'btn_save_colors' => '💾 Save Color Preferences',
'btn_save_lang' => '🌍 Save Language',
'btn_save_landing' => '🏠 Save Landing Page',
// Admin Users
'admin_title' => '👑 User Administration Panel',
'admin_desc' => 'Create, manage, and edit user roles and access.',
'btn_add_user' => ' Add New User',
'col_username' => 'Username',
'col_role' => 'Role',
'col_bns' => 'Blocknotes Created',
'col_created' => 'Created Date',
'col_actions' => 'Admin Actions',
'role_standard' => 'Standard User',
'role_admin' => 'Administrator',
'role_owner' => '👑 Owner',
'badge_owner' => '👑 Owner',
'btn_reset_pass' => '🔑 Reset Pass',
'modal_create_user' => ' Register New User',
'modal_reset_pass' => '🔑 Reset User Password',
'card_site_settings_title' => '⚙️ Site Settings (Owner Only)',
'label_site_title' => 'Global Application / Site Title',
'label_favicon' => 'Site Favicon (High Resolution, min 64x64px)',
'btn_save_site_title' => '💾 Save Site Title',
'btn_upload_favicon' => '📤 Upload New Favicon',
// Confirm Dialogs
'confirm_delete_blocknote' => 'Are you sure you want to delete this blocknote and all its notes?',
'confirm_delete_note' => 'Are you sure you want to delete this note and all its subnotes?',
'confirm_delete_subnote' => 'Are you sure you want to delete this subnote?',
'confirm_delete_user' => 'Are you sure you want to delete this user?',
// Placeholders
'placeholder_bn_title' => 'E.g. Linux Server Commands, PHP Notes...',
'placeholder_rename_title' => 'New title...',
'placeholder_import_title' => 'E.g. Positive Internet',
'placeholder_paste_json' => 'Paste JSON here in old or new format...',
'placeholder_note_title' => 'E.g. MySQL Installation, Server Setup...',
'placeholder_note_desc' => 'Short description of this note block...',
'placeholder_subnote_title' => 'E.g. Database creation command...',
'placeholder_subnote_content' => 'Enter text or command instructions...',
'placeholder_site_title' => 'E.g. Blocknotes, Enterprise Notes...',
'placeholder_username_new' => 'e.g. john, mary...',
'placeholder_password_new' => 'Enter new password',
'placeholder_password_confirm' => 'Repeat new password',
// Extra Labels
'label_owner_prefix' => 'Owner: ',
'label_updated_prefix' => 'Last updated: ',
'label_you' => 'You',
'label_unknown' => 'Unknown',
'label_current_favicon' => 'Current Favicon: ',
// First Start Installer Setup
'setup_title' => '🚀 Blocknotes Initial Setup',
'setup_subtitle' => 'Configure MySQL database and create the initial privileged users (Owner & Admin).',
'setup_sec1_title' => '1. MySQL Database Configuration',
'setup_db_host' => 'Database Host',
'setup_db_name' => 'Database Name',
'setup_db_user' => 'MySQL User',
'setup_db_pass' => 'MySQL Password',
'setup_db_pass_placeholder' => 'Password (leave empty if none)',
'setup_sec2_title' => '2. Owner Account (Single Owner)',
'setup_owner_user' => 'Owner Username',
'setup_owner_pass' => 'Owner Password',
'setup_owner_pass_placeholder' => 'Enter password for Owner',
'setup_sec3_title' => '3. First Admin Account',
'setup_admin_user' => 'Admin Username',
'setup_admin_pass' => 'Admin Password',
'setup_admin_pass_placeholder' => 'Enter password for Admin',
'setup_btn_submit' => '⚡ Complete Installation & Configure System',
'err_setup_db_fields' => 'Please fill in all MySQL database connection fields.',
'err_setup_owner_fields' => 'Please enter username and password for the Owner user.',
'err_setup_admin_fields' => 'Please enter username and password for the first Admin user.',
'err_setup_same_user' => 'Owner user and Admin user must have different usernames.',
'err_setup_write_permissions' => 'Unable to write to config/settings.php file. Check folder write permissions.'
],
'es' => [
// Login Page
'login_title' => 'Iniciar sesión en Blocknotes',
'login_subtitle' => 'Gestiona tus notas y comandos',
'label_username' => 'Nombre de Usuario',
'label_password' => 'Contraseña',
'placeholder_username' => 'Introduce nombre de usuario',
'placeholder_password' => 'Introduce contraseña',
'btn_submit_login' => '🔑 Iniciar Sesión',
'login_hint_footer' => 'Credencial predeterminada para el primer acceso',
'login_installed_success' => '🎉 ¡Configuración completada! Inicia sesión con tus credenciales.',
// Navbar
'nav_blocknotes' => '📓 Blocknotes',
'nav_colors_profile' => '🎨 Colores y Perfil',
'nav_admin' => '👑 Gestión de Usuarios',
'nav_logout' => '🚪 Salir',
'nav_login' => '🔑 Iniciar Sesión',
'nav_language' => '🌐 Idioma',
// Dashboard (home)
'dashboard_title_user' => 'Mis Blocknotes',
'dashboard_title_admin' => 'Todos los Blocknotes (Vista Admin)',
'dashboard_desc_user' => 'Crea, organiza y consulta tus blocknotes.',
'dashboard_desc_admin' => 'Como Admin puedes ver, gestionar y eliminar los blocknotes de todos los usuarios.',
'btn_new_blocknote' => ' Nuevo Blocknote',
'btn_import_json' => '📥 Importar JSON',
'btn_export_json' => '💾 Exportar JSON',
'btn_open_edit' => '👁️ Abrir y Editar',
'btn_rename' => '✏️ Renombrar',
'btn_delete' => '🗑️ Eliminar',
'empty_blocknotes_title' => 'No se encontraron blocknotes',
'empty_blocknotes_desc_user' => 'Aún no has creado ningún blocknote. ¡Empieza ahora!',
'empty_blocknotes_desc_admin' => 'Aún no hay blocknotes guardados en el sistema.',
'modal_create_title' => ' Crear Nuevo Blocknote',
'modal_rename_title' => '✏️ Renombrar Blocknote',
'modal_import_title' => '📥 Importar Blocknote (JSON)',
'label_title' => 'Título del Blocknote',
'label_file_json' => 'Subir archivo .json',
'label_paste_json' => 'O pega el código JSON aquí',
'btn_cancel' => 'Cancelar',
'btn_save' => 'Guardar',
'btn_create' => 'Crear Blocknote',
'btn_import' => 'Importar Blocknote',
'note_single' => 'Nota',
'note_plural' => 'Notas',
// View Blocknote
'btn_back_list' => '⬅️ Volver a Blocknotes',
'btn_expand_all' => '📂 Expandir Todas',
'btn_collapse_all' => '📁 Contraer Todas',
'btn_new_note' => ' Nueva Nota',
'btn_add_subnote' => ' Subnota',
'subnote_single' => 'subnota',
'subnote_plural' => 'subnotas',
'badge_text' => '📄 Texto',
'badge_command' => '⚡ Comando',
'btn_copy' => '📋 Copiar',
'btn_copied' => '✓ ¡Copiado!',
'search_placeholder' => '🔍 Buscar notas, subnotas o comandos...',
'btn_clear_search' => '❌ Cancelar Búsqueda',
'search_no_results' => 'No se encontraron resultados',
'search_no_results_desc' => 'Ninguna nota o comando coincide con tu búsqueda.',
'modal_add_note' => ' Nueva Nota en Bloque',
'modal_edit_note' => '✏️ Editar Nota',
'modal_add_subnote' => ' Añadir Subnota',
'modal_edit_subnote' => '✏️ Editar Subnota',
'label_note_description' => 'Descripción (opcional)',
'label_subnote_title' => 'Título de Subnota',
'label_subnote_type' => 'Tipo de Subnota',
'label_subnote_content' => 'Contenido',
'type_option_text' => '📄 Texto genérico',
'type_option_command' => '⚡ Comando (con botón Copiar)',
// Profile & Settings
'profile_title' => '🎨 Ajustes de Perfil y Tema',
'profile_desc' => 'Personaliza contraseña, colores de interfaz, idioma y página de inicio.',
'card_password_title' => '🔒 Cambiar Contraseña',
'card_colors_title' => '🎨 Colores de Interfaz (HSL)',
'card_lang_title' => '🌍 Idioma de la Interfaz',
'card_landing_title' => '🏠 Página de Inicio Predeterminada',
'label_new_pass' => 'Nueva Contraseña',
'label_confirm_pass' => 'Confirmar Nueva Contraseña',
'label_select_lang' => 'Seleccionar Idioma',
'label_select_landing' => 'Seleccionar Página de Inicio',
'landing_option_dashboard' => '📋 Página Principal (Todos los Blocknotes)',
'landing_option_bn_prefix' => '📌 Abrir directamente: ',
'btn_update_pass' => '🔑 Actualizar Contraseña',
'btn_save_colors' => '💾 Guardar Colores',
'btn_save_lang' => '🌍 Guardar Idioma',
'btn_save_landing' => '🏠 Guardar Página de Inicio',
// Admin Users
'admin_title' => '👑 Panel de Administración de Usuarios',
'admin_desc' => 'Crea, gestiona y edita roles de usuarios y accesos.',
'btn_add_user' => ' Añadir Nuevo Usuario',
'col_username' => 'Nombre de Usuario',
'col_role' => 'Rol',
'col_bns' => 'Blocknotes Creados',
'col_created' => 'Fecha de Creación',
'col_actions' => 'Acciones de Admin',
'role_standard' => 'Usuario Estándar',
'role_admin' => 'Administrador',
'role_owner' => '👑 Propietario (Owner)',
'badge_owner' => '👑 Propietario',
'btn_reset_pass' => '🔑 Reset Pass',
'modal_create_user' => ' Registrar Nuevo Usuario',
'modal_reset_pass' => '🔑 Resetear Contraseña',
'card_site_settings_title' => '⚙️ Ajustes del Sitio (Solo Propietario)',
'label_site_title' => 'Título del Sitio / Aplicación',
'label_favicon' => 'Favicon del Sitio (Alta resolución, mín 64x64px)',
'btn_save_site_title' => '💾 Guardar Título',
'btn_upload_favicon' => '📤 Subir Nueva Favicon',
// Confirm Dialogs
'confirm_delete_blocknote' => '¿Estás seguro de que quieres eliminar este blocknote y todas sus notas?',
'confirm_delete_note' => '¿Estás seguro de que quieres eliminar esta nota y todas sus subnotas?',
'confirm_delete_subnote' => '¿Estás seguro de que quieres eliminar esta subnota?',
'confirm_delete_user' => '¿Estás seguro de que quieres eliminar este usuario?',
// Placeholders
'placeholder_bn_title' => 'Ej. Comandos Servidor Linux...',
'placeholder_rename_title' => 'Nuevo título...',
'placeholder_import_title' => 'Ej. Positive Internet',
'placeholder_paste_json' => 'Pega el JSON aquí en formato antiguo o nuevo...',
'placeholder_note_title' => 'Ej. Instalación MySQL...',
'placeholder_note_desc' => 'Breve descripción de este bloque de notas...',
'placeholder_subnote_title' => 'Ej. Comando creación base de datos...',
'placeholder_subnote_content' => 'Introduce el texto o instrucciones del comando...',
'placeholder_site_title' => 'Ej. Blocknotes...',
'placeholder_username_new' => 'ej. mario, juan...',
'placeholder_password_new' => 'Introduce nueva contraseña',
'placeholder_password_confirm' => 'Repite nueva contraseña',
// Extra Labels
'label_owner_prefix' => 'Propietario: ',
'label_updated_prefix' => 'Última actualización: ',
'label_you' => 'Tú',
'label_unknown' => 'Desconocido',
'label_current_favicon' => 'Favicon Actual: ',
// First Start Installer Setup
'setup_title' => '🚀 Configuración Inicial de Blocknotes',
'setup_subtitle' => 'Configura la base de datos MySQL y crea los primeros usuarios privilegiados (Propietario y Admin).',
'setup_sec1_title' => '1. Configuración de Base de Datos MySQL',
'setup_db_host' => 'Host de Base de Datos',
'setup_db_name' => 'Nombre de la Base de Datos',
'setup_db_user' => 'Usuario MySQL',
'setup_db_pass' => 'Contraseña MySQL',
'setup_db_pass_placeholder' => 'Contraseña (deja en blanco si no hay)',
'setup_sec2_title' => '2. Cuenta de Propietario (Único)',
'setup_owner_user' => 'Nombre de Usuario Propietario',
'setup_owner_pass' => 'Contraseña de Propietario',
'setup_owner_pass_placeholder' => 'Introduce contraseña para Propietario',
'setup_sec3_title' => '3. Primera Cuenta de Administrador (Admin)',
'setup_admin_user' => 'Nombre de Usuario Admin',
'setup_admin_pass' => 'Contraseña de Admin',
'setup_admin_pass_placeholder' => 'Introduce contraseña para Admin',
'setup_btn_submit' => '⚡ Completar Instalación y Configurar Sistema',
'err_setup_db_fields' => 'Por favor completa todos los campos de conexión a la base de datos MySQL.',
'err_setup_owner_fields' => 'Por favor introduce nombre de usuario y contraseña para el Propietario.',
'err_setup_admin_fields' => 'Por favor introduce nombre de usuario y contraseña para el primer Admin.',
'err_setup_same_user' => 'El usuario Propietario y el usuario Admin deben tener nombres diferentes.',
'err_setup_write_permissions' => 'No se pudo escribir en el archivo config/settings.php. Verifica los permisos de escritura.'
],
'fr' => [
// Login Page
'login_title' => 'Connexion à Blocknotes',
'login_subtitle' => 'Gérez vos notes et vos commandes',
'label_username' => 'Nom d\'Utilisateur',
'label_password' => 'Mot de Passe',
'placeholder_username' => 'Entrez nom d\'utilisateur',
'placeholder_password' => 'Entrez mot de passe',
'btn_submit_login' => '🔑 Connexion',
'login_hint_footer' => 'Identifiant par défaut pour le premier accès',
'login_installed_success' => '🎉 Configuration terminée! Connectez-vous avec vos identifiants.',
// Navbar
'nav_blocknotes' => '📓 Blocknotes',
'nav_colors_profile' => '🎨 Couleurs & Profil',
'nav_admin' => '👑 Gestion des Utilisateurs',
'nav_logout' => '🚪 Déconnexion',
'nav_login' => '🔑 Connexion',
'nav_language' => '🌐 Langue',
// Dashboard (home)
'dashboard_title_user' => 'Mes Blocknotes',
'dashboard_title_admin' => 'Tous les Blocknotes (Vue Admin)',
'dashboard_desc_user' => 'Créez, organisez et consultez vos blocknotes.',
'dashboard_desc_admin' => 'En tant qu\'Admin vous pouvez afficher, gérer et supprimer les blocknotes de tous les utilisateurs.',
'btn_new_blocknote' => ' Nouveau Blocknote',
'btn_import_json' => '📥 Importer JSON',
'btn_export_json' => '💾 Exporter JSON',
'btn_open_edit' => '👁️ Ouvrir & Modifier',
'btn_rename' => '✏️ Renommer',
'btn_delete' => '🗑️ Supprimer',
'empty_blocknotes_title' => 'Aucun blocknote trouvé',
'empty_blocknotes_desc_user' => 'Vous n\'avez pas encore créé de blocknote. Commencez dès maintenant!',
'empty_blocknotes_desc_admin' => 'Il n\'y a encore aucun blocknote enregistré dans le système.',
'modal_create_title' => ' Créer un Nouveau Blocknote',
'modal_rename_title' => '✏️ Renommer le Blocknote',
'modal_import_title' => '📥 Importer Blocknote (JSON)',
'label_title' => 'Titre du Blocknote',
'label_file_json' => 'Téléverser le fichier .json',
'label_paste_json' => 'Ou collez le code JSON ici',
'btn_cancel' => 'Annuler',
'btn_save' => 'Enregistrer',
'btn_create' => 'Créer Blocknote',
'btn_import' => 'Importer Blocknote',
'note_single' => 'Note',
'note_plural' => 'Notes',
// View Blocknote
'btn_back_list' => '⬅️ Retour aux Blocknotes',
'btn_expand_all' => '📂 Tout Développer',
'btn_collapse_all' => '📁 Tout Réduire',
'btn_new_note' => ' Nouvelle Note',
'btn_add_subnote' => ' Sous-note',
'subnote_single' => 'sous-note',
'subnote_plural' => 'sous-notes',
'badge_text' => '📄 Texte',
'badge_command' => '⚡ Commande',
'btn_copy' => '📋 Copier',
'btn_copied' => '✓ Copié!',
'search_placeholder' => '🔍 Rechercher notes, sous-notes ou commandes...',
'btn_clear_search' => '❌ Annuler la Recherche',
'search_no_results' => 'Aucun résultat trouvé',
'search_no_results_desc' => 'Aucune note ou commande ne correspond à votre recherche.',
'modal_add_note' => ' Nouvelle Note par Bloc',
'modal_edit_note' => '✏️ Modifier la Note',
'modal_add_subnote' => ' Ajouter une Sous-note',
'modal_edit_subnote' => '✏️ Modifier la Sous-note',
'label_note_description' => 'Description (facultatif)',
'label_subnote_title' => 'Titre de la Sous-note',
'label_subnote_type' => 'Type de Sous-note',
'label_subnote_content' => 'Contenu',
'type_option_text' => '📄 Texte générique',
'type_option_command' => '⚡ Commande (avec bouton Copier)',
// Profile & Settings
'profile_title' => '🎨 Paramètres Profil & Thème',
'profile_desc' => 'Personnalisez votre mot de passe, couleurs, langue et page d\'accueil.',
'card_password_title' => '🔒 Changer le Mot de Passe',
'card_colors_title' => '🎨 Couleurs de l\'Interface (HSL)',
'card_lang_title' => '🌍 Langue de l\'Interface',
'card_landing_title' => '🏠 Page d\'Accueil par Défaut',
'label_new_pass' => 'Nouveau Mot de Passe',
'label_confirm_pass' => 'Confirmer le Mot de Passe',
'label_select_lang' => 'Sélectionner la Langue',
'label_select_landing' => 'Sélectionner la Page d\'Accueil',
'landing_option_dashboard' => '📋 Page Principale (Tous les Blocknotes)',
'landing_option_bn_prefix' => '📌 Ouvrir directement: ',
'btn_update_pass' => '🔑 Mettre à Jour',
'btn_save_colors' => '💾 Enregistrer les Couleurs',
'btn_save_lang' => '🌍 Enregistrer la Langue',
'btn_save_landing' => '🏠 Enregistrer la Page d\'Accueil',
// Admin Users
'admin_title' => '👑 Panneau d\'Administration Utilisateurs',
'admin_desc' => 'Créez, gérez et modifiez les rôles et accès des utilisateurs.',
'btn_add_user' => ' Ajouter un Utilisateur',
'col_username' => 'Nom d\'Utilisateur',
'col_role' => 'Rôle',
'col_bns' => 'Blocknotes Créés',
'col_created' => 'Date de Création',
'col_actions' => 'Actions Admin',
'role_standard' => 'Utilisateur Standard',
'role_admin' => 'Administrateur',
'role_owner' => '👑 Propriétaire (Owner)',
'badge_owner' => '👑 Propriétaire',
'btn_reset_pass' => '🔑 Réinit Pass',
'modal_create_user' => ' Enregistrer un Utilisateur',
'modal_reset_pass' => '🔑 Réinitialiser le Mot de Passe',
'card_site_settings_title' => '⚙️ Paramètres du Site (Propriétaire Uniquement)',
'label_site_title' => 'Titre Global du Site',
'label_favicon' => 'Favicon du Site (Haute résolution, min 64x64px)',
'btn_save_site_title' => '💾 Enregistrer le Titre',
'btn_upload_favicon' => '📤 Téléverser la Favicon',
// Confirm Dialogs
'confirm_delete_blocknote' => 'Êtes-vous sûr de vouloir supprimer ce blocknote et toutes ses notes?',
'confirm_delete_note' => 'Êtes-vous sûr de vouloir supprimer cette note et toutes ses sous-notes?',
'confirm_delete_subnote' => 'Êtes-vous sûr de vouloir supprimer cette sous-note?',
'confirm_delete_user' => 'Êtes-vous sûr de vouloir supprimer cet utilisateur?',
// Placeholders
'placeholder_bn_title' => 'Ex. Commandes Serveur Linux...',
'placeholder_rename_title' => 'Nouveau titre...',
'placeholder_import_title' => 'Ex. Positive Internet',
'placeholder_paste_json' => 'Collez le JSON ici au format ancien ou nouveau...',
'placeholder_note_title' => 'Ex. Installation MySQL...',
'placeholder_note_desc' => 'Brève description de ce bloc de notes...',
'placeholder_subnote_title' => 'Ex. Commande création base de données...',
'placeholder_subnote_content' => 'Entrez le texte ou les instructions de la commande...',
'placeholder_site_title' => 'Ex. Blocknotes...',
'placeholder_username_new' => 'ex. pierre, marie...',
'placeholder_password_new' => 'Entrez nouveau mot de passe',
'placeholder_password_confirm' => 'Répétez le mot de passe',
// Extra Labels
'label_owner_prefix' => 'Propriétaire: ',
'label_updated_prefix' => 'Dernière mise à jour: ',
'label_you' => 'Vous',
'label_unknown' => 'Inconnu',
'label_current_favicon' => 'Favicon Actuelle: ',
// First Start Installer Setup
'setup_title' => '🚀 Configuration Initiale de Blocknotes',
'setup_subtitle' => 'Configurez la base de données MySQL et créez les premiers utilisateurs privilégiés (Propriétaire et Admin).',
'setup_sec1_title' => '1. Configuration de la Base de Données MySQL',
'setup_db_host' => 'Hôte de la Base de Données',
'setup_db_name' => 'Nom de la Base de Données',
'setup_db_user' => 'Utilisateur MySQL',
'setup_db_pass' => 'Mot de Passe MySQL',
'setup_db_pass_placeholder' => 'Mot de passe (laissez vide si aucun)',
'setup_sec2_title' => '2. Compte Propriétaire (Unique)',
'setup_owner_user' => 'Nom d\'Utilisateur Propriétaire',
'setup_owner_pass' => 'Mot de Passe Propriétaire',
'setup_owner_pass_placeholder' => 'Entrez le mot de passe pour le Propriétaire',
'setup_sec3_title' => '3. Premier Compte Administrateur (Admin)',
'setup_admin_user' => 'Nom d\'Utilisateur Admin',
'setup_admin_pass' => 'Mot de Passe Admin',
'setup_admin_pass_placeholder' => 'Entrez le mot de passe pour Admin',
'setup_btn_submit' => '⚡ Terminer l\'Installation et Configurer le Système',
'err_setup_db_fields' => 'Veuillez remplir tous les champs de connexion à la base de données MySQL.',
'err_setup_owner_fields' => 'Veuillez entrer le nom d\'utilisateur et le mot de passe pour le Propriétaire.',
'err_setup_admin_fields' => 'Veuillez entrer le nom d\'utilisateur et le mot de passe pour le premier Admin.',
'err_setup_same_user' => 'L\'utilisateur Propriétaire et l\'utilisateur Admin doivent avoir des noms différents.',
'err_setup_write_permissions' => 'Impossible d\'écrire dans le fichier config/settings.php. Vérifiez les permissions de dossier.'
]
];
}
/**
* Translate key to current active language string.
*/
function __($key, $default = '') {
$lang = get_current_lang();
$translations = get_translations();
if (isset($translations[$lang][$key])) {
return $translations[$lang][$key];
}
if (isset($translations['it'][$key])) {
return $translations['it'][$key];
}
if (isset($translations['en'][$key])) {
return $translations['en'][$key];
}
return !empty($default) ? $default : $key;
}