Backend Go 1.23+ : - API REST + WebSocket (chi, gorilla/websocket) - Authentification PAM via SSH + JWT RS256 - Chiffrement AES-256-GCM pour secrets SQLite - Pool SSH, client Proxmox REST, hub WebSocket pub/sub - Système de modules compilés à initialisation conditionnelle - Audit log, migrations SQLite versionnées Frontend Vue 3 + Vite + TypeScript : - Thème Neumorphism sombre/clair (CSS custom properties) - Wizard d'installation, Dashboard drag-drop, Terminal xterm.js - Toutes les vues CORE + stubs modules optionnels - i18n EN/FR (vue-i18n v11) Infrastructure : - Docker multi-stage (Go → alpine, Node → nginx) - docker-compose.yml, .gitattributes, LICENSE MIT, README Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
140 lines
4.3 KiB
JSON
140 lines
4.3 KiB
JSON
{
|
|
"nav": {
|
|
"dashboard": "Dashboard",
|
|
"proxmox": "Proxmox",
|
|
"updates": "Updates",
|
|
"terminal": "Terminal",
|
|
"files": "Files",
|
|
"logs": "Logs",
|
|
"services": "Services",
|
|
"settings": "Settings",
|
|
"modules": "Modules"
|
|
},
|
|
"navbar": {
|
|
"darkMode": "Dark mode",
|
|
"lightMode": "Light mode",
|
|
"logout": "Logout"
|
|
},
|
|
"install": {
|
|
"subtitle": "Initial configuration of the management panel",
|
|
"step1": { "label": "General", "title": "General configuration", "desc": "Configure the instance name and public URL." },
|
|
"step2": { "label": "SSH", "title": "SSH Connection", "desc": "Configure SSH access to the Proxmox server. These credentials will be used for authentication and management." },
|
|
"step3": { "label": "Proxmox", "title": "Proxmox API", "desc": "Optional — Configure the API token to access Proxmox metrics." },
|
|
"step4": { "label": "Confirm", "title": "Confirm configuration" },
|
|
"instanceName": "Instance name",
|
|
"instanceNamePlaceholder": "My Proxmox server",
|
|
"publicUrl": "Public URL",
|
|
"publicUrlHint": "Auto-detected: {url}",
|
|
"defaultLang": "Default language",
|
|
"sshHost": "SSH host (host:port)",
|
|
"sshUsername": "SSH username",
|
|
"sshPassword": "SSH password",
|
|
"testSSH": "Test SSH connection",
|
|
"sshSuccess": "SSH connection successful!",
|
|
"sshFailed": "SSH connection failed",
|
|
"proxmoxUrl": "Proxmox URL",
|
|
"proxmoxToken": "Proxmox API token",
|
|
"proxmoxTokenHint": "Format: PVEAPIToken=user@realm!tokenid=secret",
|
|
"back": "Back",
|
|
"next": "Next",
|
|
"finish": "Complete installation",
|
|
"error": "Installation error",
|
|
"networkError": "Network error"
|
|
},
|
|
"login": {
|
|
"subtitle": "Login with your Linux credentials",
|
|
"username": "Username",
|
|
"usernamePlaceholder": "Your Linux login",
|
|
"password": "Password",
|
|
"passwordPlaceholder": "Your password",
|
|
"submit": "Login",
|
|
"loading": "Logging in...",
|
|
"error": "Authentication error",
|
|
"hint": "Use your server's Linux credentials"
|
|
},
|
|
"dashboard": {
|
|
"welcome": "Hello, {name}",
|
|
"addWidget": "Add widget",
|
|
"lxcStatus": "LXC Status",
|
|
"metrics": "Metrics",
|
|
"noData": "No data available",
|
|
"lxcCount": "Total LXC",
|
|
"running": "Running",
|
|
"widgetShortcut": "Shortcut",
|
|
"widgetLXC": "LXC Status",
|
|
"widgetMetrics": "Metrics"
|
|
},
|
|
"proxmox": {
|
|
"all": "All",
|
|
"lxc": "LXC",
|
|
"vm": "VM",
|
|
"running": "Running",
|
|
"stopped": "Stopped",
|
|
"start": "Start",
|
|
"stop": "Stop",
|
|
"error": "Proxmox API error",
|
|
"liveUpdates": "Live updates",
|
|
"disconnected": "Disconnected"
|
|
},
|
|
"updates": {
|
|
"desc": "Run apt updates on the host or LXC containers.",
|
|
"selectTarget": "Select target",
|
|
"targetHost": "Proxmox Host",
|
|
"targetAll": "All LXC",
|
|
"start": "Start update",
|
|
"running": "Updating...",
|
|
"output": "Output",
|
|
"history": "History",
|
|
"noHistory": "No updates performed",
|
|
"status": {
|
|
"running": "Running",
|
|
"success": "Success",
|
|
"error": "Error",
|
|
"pending": "Pending"
|
|
}
|
|
},
|
|
"terminal": {
|
|
"connected": "Connected to {host}",
|
|
"disconnected": "Disconnected",
|
|
"connect": "Connect",
|
|
"reconnect": "Reconnect"
|
|
},
|
|
"files": {
|
|
"desc": "SFTP file browser",
|
|
"moduleNotEnabled": "Module not enabled. Go to Settings → Modules to enable it."
|
|
},
|
|
"settings": {
|
|
"general": "General",
|
|
"infrastructure": "Infrastructure",
|
|
"appearance": "Appearance",
|
|
"audit": "Audit log",
|
|
"instanceName": "Instance name",
|
|
"publicUrl": "Public URL",
|
|
"defaultLang": "Default language",
|
|
"sshHost": "SSH host",
|
|
"sshUsername": "SSH username",
|
|
"proxmoxUrl": "Proxmox URL",
|
|
"darkMode": "Dark mode",
|
|
"sidebarPosition": "Sidebar position",
|
|
"left": "Left",
|
|
"right": "Right",
|
|
"noAuditLog": "No audit log entries"
|
|
},
|
|
"modules": {
|
|
"desc": "Manage installed modules on ProxmoxPanel.",
|
|
"enabled": "Enabled",
|
|
"disabled": "Disabled",
|
|
"enable": "Enable",
|
|
"disable": "Disable",
|
|
"coreProtected": "CORE module (cannot be disabled)",
|
|
"restartNotice": "A server restart is required to apply changes."
|
|
},
|
|
"common": {
|
|
"refresh": "Refresh",
|
|
"save": "Save",
|
|
"saving": "Saving...",
|
|
"saved": "Saved!",
|
|
"cancel": "Cancel",
|
|
"networkError": "Network error"
|
|
}
|
|
}
|