Gatelogic
{{ currentUser.username ? currentUser.username[0].toUpperCase() : 'U' }}
{{ currentUser.username }}
{{ currentUser.full_name || 'User' }}
{{ t('nav.language') }}
{{ t('nav.theme') }}
{{ t('nav.logout') }}
Gatelogic

{{ t('nav.dashboard') }} {{ t('plates.title') }} {{ t('access.title') }} {{ t('nav.myProfile') }}

{{ t('status.connected') }}

{{ t('dashboard.welcome') }}, {{ currentUser.full_name || currentUser.username }}!

{{ t('dashboard.description') }}

{{ t('dashboard.assignedDevices') }}

{{ userDevices.length }}

{{ t('dashboard.yourPlates') }}

{{ myPlates.length }}

{{ t('dashboard.recentAccess') }}

{{ formatDate(lastAccessDate) }}

{{ t('dashboard.accountStatus') }}

{{ t('dashboard.active') }}

{{ t('dashboard.recentActivity') }}

{{ t('dashboard.noActivity') }}
  • {{ activity.plate }} - {{ activity.granted ? t('dashboard.accessGranted') : t('dashboard.accessDenied') }}

    {{ formatDate(activity.timestamp) }} - {{ activity.location }}

{{ t('dashboard.quickActions') }}

{{ t('plates.title') }}

{{ t('plates.selectDevice') }}

{{ t('plates.noDevices') }}

{{ device.device_name }}

{{ device.device_location || 'No location' }}

{{ device.plate_count || 0 }} plates
{{ device.status || 'offline' }}
Personal: {{ device.quotas.personal_used || 0 }}/{{ device.quotas.personal_limit || 0 }} | Guest: {{ device.quotas.guest_used || 0 }}/{{ device.quotas.guest_limit || 0 }}

Plates for {{ selectedDevice.device_name }}

Personal: {{ selectedDevice.quotas.personal_used || 0 }}/{{ selectedDevice.quotas.personal_limit || 0 }} | Guest: {{ selectedDevice.quotas.guest_used || 0 }}/{{ selectedDevice.quotas.guest_limit || 0 }}
{{ t('plates.noPlates') }}
{{ plate.plate }}
{{ t('plates.type') }} {{ plate.plate_category === 'guest' ? t('plates.guest') : t('plates.personal') }}
{{ t('plates.make') }} {{ plate.make || t('plates.notSpecified') }}
{{ t('plates.color') }} {{ plate.color || t('plates.notSpecified') }}
{{ t('access.status') }} {{ plate.enabled ? t('plates.active') : t('plates.expired') }}
{{ t('plates.addedDate') }} {{ formatDate(plate.created_at) }}
{{ t('plates.expires') }} {{ plate.expires_at ? formatDate(plate.expires_at) : t('plates.never') }}

{{ t('access.title') }}

{{ t('access.noEntries') }}
{{ t('access.plate') }} {{ t('access.location') }} {{ t('access.time') }} {{ t('access.status') }}
{{ entry.plate }}
{{ entry.location }} {{ formatDate(entry.timestamp) }} {{ t('access.granted') }} {{ t('access.denied') }}

{{ t('profile.title') }}

{{ currentUser.username ? currentUser.username[0].toUpperCase() : 'U' }}

{{ t('profile.usernameHint') }}

{{ t('profile.changePassword') }}

{{ plateModalMode === 'add' ? t('modal.addPlate') : t('modal.editPlate') }}

{{ t('modal.plateCannotChange') }}

{{ t('modal.guestExpireRequired') }}

{{ confirmationTitle }}

{{ confirmationMessage }}

{{ notification.title }}

{{ notification.message }}