// Temporary translation system for management portal until Docker rebuild const translations = { en: { nav: { dashboard: 'Dashboard', tenants: 'Tenants', users: 'Users', system: 'System' }, navigation: { dashboard: 'Dashboard', tenants: 'Tenants', users: 'Users', system: 'System', logout: 'Logout' }, app: { title: 'UAM-ILS Management Portal' }, tenants: { title: 'Tenants', description: 'Manage organizations and their configurations', noTenants: 'No tenants', noTenantsDescription: 'Get started by creating a new tenant.', loadingTenants: 'Loading tenants...', addTenant: 'Create Tenant', createTenant: 'Create Tenant', editTenant: 'Edit Tenant', deleteTenant: 'Delete Tenant', searchPlaceholder: 'Search tenants...', tenant: 'Tenant', tenantName: 'Tenant Name', tenantSlug: 'Tenant Slug', domain: 'Domain', authProvider: 'Auth Provider', subscription: 'Subscription', users: 'Users', status: 'Status', created: 'Created', lastActivity: 'Last Activity', actions: 'Actions', active: 'Active', inactive: 'Inactive', suspended: 'Suspended', edit: 'Edit', delete: 'Delete', viewUsers: 'View Users', confirmDelete: 'Are you sure you want to delete this tenant? This action cannot be undone.', confirmActivate: 'Are you sure you want to activate "{{name}}"?', confirmDeactivate: 'Are you sure you want to deactivate "{{name}}"? Users will not be able to access this tenant.', deleteSuccess: 'Tenant deleted successfully', deleteError: 'Failed to delete tenant', activateSuccess: 'Tenant activated successfully', activateError: 'Failed to activate tenant', deactivateSuccess: 'Tenant deactivated successfully', deactivateError: 'Failed to deactivate tenant', deleteWarning: 'This action cannot be undone and will remove all associated data.', totalTenants: 'Total Tenants', activeTenants: 'Active Tenants' }, users: { title: 'Users', description: 'Manage user accounts across all tenants', noUsers: 'No users found', noUsersDescription: 'No users have been created yet.', noUsersSearch: 'Try adjusting your search criteria.', addUser: 'Add User', editUser: 'Edit User', deleteUser: 'Delete User', searchPlaceholder: 'Search users...', user: 'User', username: 'Username', email: 'Email', role: 'Role', tenant: 'Tenant', status: 'Status', lastLogin: 'Last Login', created: 'Created', actions: 'Actions', loadError: 'Failed to load users' }, dashboard: { title: 'Dashboard', description: 'Overview of your UAMILS system', totalTenants: 'Total Tenants', activeTenants: 'Active Tenants', totalUsers: 'Total Users', activeSessions: 'Active Sessions', systemHealth: 'System Health', good: 'Good', issues: 'Issues' }, system: { title: 'System Monitor', description: 'Real-time system health and configuration monitoring', serverInfo: 'Server Information', databaseInfo: 'Database Information', version: 'Version', environment: 'Environment', uptime: 'Uptime', platform: 'Platform', platformStatus: 'Platform Status', lastUpdated: 'Last updated', loadError: 'Failed to load system information', noInformation: 'No system information available', noInformationDescription: 'Unable to load system metrics.', retry: 'Retry' }, common: { loading: 'Loading...', error: 'Error', success: 'Success', cancel: 'Cancel', save: 'Save', delete: 'Delete', edit: 'Edit', add: 'Add', search: 'Search', filter: 'Filter', refresh: 'Refresh', previous: 'Previous', next: 'Next', active: 'Active', inactive: 'Inactive', showingResults: 'Showing {{start}} to {{end}} of {{total}} results', yes: 'Yes', no: 'No', ok: 'OK', close: 'Close' }, auth: { login: 'Login', username: 'Username', password: 'Password', loginButton: 'Sign In', logout: 'Logout', portalTitle: 'UAMILS Management Portal', loginDescription: 'Sign in to manage tenants and system configuration', signIn: 'Sign in', signingIn: 'Signing in...', adminAccess: 'Admin access required. Default: admin / admin123' } }, sv: { nav: { dashboard: 'Översikt', tenants: 'Hyresgäster', users: 'Användare', system: 'System' }, navigation: { dashboard: 'Översikt', tenants: 'Hyresgäster', users: 'Användare', system: 'System', logout: 'Logga ut' }, app: { title: 'UAM-ILS Förvaltningsportal' }, tenants: { title: 'Hyresgäster', description: 'Hantera organisationer och deras konfigurationer', noTenants: 'Inga hyresgäster', noTenantsDescription: 'Kom igång genom att skapa en ny hyresgäst.', loadingTenants: 'Laddar hyresgäster...', addTenant: 'Skapa hyresgäst', createTenant: 'Skapa hyresgäst', editTenant: 'Redigera hyresgäst', deleteTenant: 'Ta bort hyresgäst', searchPlaceholder: 'Sök hyresgäster...', tenant: 'Hyresgäst', tenantName: 'Hyresgästnamn', tenantSlug: 'Hyresgästslug', domain: 'Domän', authProvider: 'Auth-leverantör', subscription: 'Prenumeration', users: 'Användare', status: 'Status', created: 'Skapad', lastActivity: 'Senaste aktivitet', actions: 'Åtgärder', active: 'Aktiv', inactive: 'Inaktiv', suspended: 'Avstängd', edit: 'Redigera', delete: 'Ta bort', viewUsers: 'Visa användare', confirmDelete: 'Är du säker på att du vill ta bort denna hyresgäst? Denna åtgärd kan inte ångras.', confirmActivate: 'Är du säker på att du vill aktivera "{{name}}"?', confirmDeactivate: 'Är du säker på att du vill deaktivera "{{name}}"? Användare kommer inte att kunna komma åt denna hyresgäst.', deleteSuccess: 'Hyresgäst borttagen framgångsrikt', deleteError: 'Misslyckades att ta bort hyresgäst', activateSuccess: 'Hyresgäst aktiverad framgångsrikt', activateError: 'Misslyckades att aktivera hyresgäst', deactivateSuccess: 'Hyresgäst deaktiverad framgångsrikt', deactivateError: 'Misslyckades att deaktivera hyresgäst', deleteWarning: 'Denna åtgärd kan inte ångras och kommer att ta bort all associerad data.', totalTenants: 'Totala hyresgäster', activeTenants: 'Aktiva hyresgäster' }, users: { title: 'Användare', description: 'Hantera användarkonton över alla hyresgäster', noUsers: 'Inga användare hittades', noUsersDescription: 'Inga användare har skapats ännu.', noUsersSearch: 'Prova att justera dina sökkriterier.', addUser: 'Lägg till användare', editUser: 'Redigera användare', deleteUser: 'Ta bort användare', searchPlaceholder: 'Sök användare...', user: 'Användare', username: 'Användarnamn', email: 'E-post', role: 'Roll', tenant: 'Hyresgäst', status: 'Status', lastLogin: 'Senaste inloggning', created: 'Skapad', actions: 'Åtgärder', loadError: 'Misslyckades att ladda användare' }, dashboard: { title: 'Instrumentpanel', description: 'Översikt av ditt UAMILS-system', totalTenants: 'Totala hyresgäster', activeTenants: 'Aktiva hyresgäster', totalUsers: 'Totala användare', activeSessions: 'Aktiva sessioner', systemHealth: 'Systemhälsa', good: 'Bra', issues: 'Problem' }, system: { title: 'Systemövervakning', description: 'Realtid systemhälsa och konfigurationsövervakning', serverInfo: 'Serverinformation', databaseInfo: 'Databasinformation', version: 'Version', environment: 'Miljö', uptime: 'Drifttid', platform: 'Plattform', platformStatus: 'Plattformsstatus', lastUpdated: 'Senast uppdaterad', loadError: 'Misslyckades att ladda systeminformation', noInformation: 'Ingen systeminformation tillgänglig', noInformationDescription: 'Kunde inte ladda systemstatistik.', retry: 'Försök igen' }, common: { loading: 'Laddar...', error: 'Fel', success: 'Framgång', cancel: 'Avbryt', save: 'Spara', delete: 'Ta bort', edit: 'Redigera', add: 'Lägg till', search: 'Sök', filter: 'Filtrera', refresh: 'Uppdatera', previous: 'Föregående', next: 'Nästa', active: 'Aktiv', inactive: 'Inaktiv', showingResults: 'Visar {{start}} till {{end}} av {{total}} resultat', yes: 'Ja', no: 'Nej', ok: 'OK', close: 'Stäng' }, auth: { login: 'Logga in', username: 'Användarnamn', password: 'Lösenord', loginButton: 'Logga in', logout: 'Logga ut', portalTitle: 'UAMILS Förvaltningsportal', loginDescription: 'Logga in för att hantera hyresgäster och systemkonfiguration', signIn: 'Logga in', signingIn: 'Loggar in...', adminAccess: 'Administratörsåtkomst krävs. Standard: admin / admin123' } } }; let currentLanguage = localStorage.getItem('language') || 'en'; export const t = (key, params = {}) => { const keys = key.split('.'); let value = translations[currentLanguage]; for (const k of keys) { value = value?.[k]; } let result = value || key; // Simple parameter interpolation if (params && typeof params === 'object') { Object.keys(params).forEach(param => { const placeholder = `{{${param}}}`; result = result.replace(new RegExp(placeholder, 'g'), params[param]); }); } return result; }; export const changeLanguage = (lang) => { currentLanguage = lang; localStorage.setItem('language', lang); // Trigger a page refresh to update all components window.location.reload(); }; export const getCurrentLanguage = () => currentLanguage;