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' => 'Richiedi un account all\'amministratore', 'login_request_account' => 'Se hai bisogno di un account, richiedilo all\'amministratore di sistema:', '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', 'card_site_settings_title' => '⚙️ Impostazioni Sito (Esclusivo Owner)', 'label_site_title' => 'Titolo Globale Applicazione / Sito', 'label_favicon' => 'Favicon del Sito (Alta Risoluzione, min 64x64px)', 'btn_save_site_title' => '💾 Salva Titolo Sito', 'btn_upload_favicon' => '📤 Carica Nuova Favicon', 'label_admin_email' => 'Email Amministratore di Sistema', 'btn_save_admin_email' => '💾 Salva Email Admin', 'placeholder_admin_email' => 'es. test@email.com', // 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', 'label_admin_email' => 'System Administrator Email', 'btn_save_admin_email' => '💾 Save Admin Email', 'placeholder_admin_email' => 'e.g. test@email.com', 'login_request_account' => 'If you need an account, please contact the system administrator:', // 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 Global de la Aplicación / Sitio', 'label_favicon' => 'Favicon del Sitio (Alta Resolución, min 64x64px)', 'btn_save_site_title' => '💾 Guardar Título', 'btn_upload_favicon' => '📤 Subir Favicon', 'label_admin_email' => 'Correo del Administrador del Sistema', 'btn_save_admin_email' => '💾 Guardar Correo Admin', 'placeholder_admin_email' => 'ej. test@email.com', 'login_request_account' => 'Si necesitas una cuenta, contacta al administrador del sistema:', // 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 del Application / Site', 'label_favicon' => 'Favicon du Site (Haute Résolution, min 64x64px)', 'btn_save_site_title' => '💾 Enregistrer le Titre', 'btn_upload_favicon' => '📤 Téléverser le Favicon', 'label_admin_email' => 'E-mail de l\'Administrateur Système', 'btn_save_admin_email' => '💾 Enregistrer l\'E-mail Admin', 'placeholder_admin_email' => 'ex. test@email.com', 'login_request_account' => 'Si vous avez besoin d\'un compte, contactez l\'administrateur système:', // 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; }