import type { MessageSchema } from './es'; const en: MessageSchema = { nav: { dashboard: 'Dashboard', clients: 'OAuth Clients', tokens: 'Personal Access Tokens', authorizedApps: 'Authorized Apps', users: 'Users', analytics: 'Analytics', apiDocs: 'API Docs', logout: 'Sign out', }, common: { loading: 'Loading…', creating: 'Creating…', create: 'Create', save: 'Save', cancel: 'Cancel', close: 'Close', edit: 'Edit', delete: 'Delete', none: '(none)', }, login: { title: 'Sign in', subtitle: 'OAuth2 server — admin panel.', email: 'Email', password: 'Password', submit: 'Sign in', submitting: 'Signing in…', noAccount: "Don't have an account?", signUp: 'Sign up', invalidCredentials: 'Invalid credentials.', }, register: { title: 'Create account', name: 'Name', email: 'Email', password: 'Password', passwordConfirm: 'Confirm password', submit: 'Create account', submitFirstUser: 'Create admin account', submitting: 'Creating…', haveAccount: 'Already have an account?', signIn: 'Sign in', firstUserBanner: "There are no users yet. This account will be the administrator, with immediate access (no approval needed).", pendingTitle: 'Account created', pendingBody: 'An administrator has to approve your account before you can sign in. You may be notified outside the app once it is ready.', backToLogin: 'Back to sign in', }, dashboard: { greeting: 'Hi, {name}', subtitle: "This is the OAuth2 server's admin panel.", clientsTitle: 'OAuth Clients', clientsDesc: 'Register apps (Authorization Code+PKCE, Client Credentials or Password Grant).', tokensTitle: 'Personal Access Tokens', tokensDesc: 'Generate tokens for direct API access, like API keys.', appsTitle: 'Authorized Apps', appsDesc: "Third-party apps you've granted access to your account.", usersTitle: 'Users', usersDesc: 'Create, edit role/status and delete accounts (admins only).', analyticsTitle: 'Analytics', analyticsDesc: 'Active sessions, logins by app and most active users (admins only).', apiTitle: 'REST API', apiDesc: 'This server exposes the {resource} resource (scopes {read}/{write}) so third-party apps can manage users via OAuth2. Requires a Passport access token. Interactive docs at {link}.', }, clients: { title: 'OAuth Clients', subtitle: 'Registered apps that can request tokens from this server.', secretWarning: "Save this client secret now, you won't be able to see it again:", clientIdLabel: 'client_id:', clientSecretLabel: 'client_secret:', newClient: 'New client', name: 'Name', grantType: 'Grant type', grantAuthCode: 'Authorization Code + PKCE', grantClientCredentials: 'Client Credentials', grantPassword: 'Password Grant', redirectUris: 'Redirect URIs (comma-separated)', confidentialLabel: 'Confidential client (with secret). Uncheck for a public client that only uses PKCE.', create: 'Create client', empty: "You haven't created any clients yet.", revoke: 'Revoke', revokeConfirm: 'Revoke client "{name}"? Its tokens will stop working.', clientIdShort: 'client_id', redirectLabel: 'redirect', }, tokens: { title: 'Personal Access Tokens', subtitle: 'Direct API access tokens, without going through the authorize flow (like an API key).', tokenWarning: "Save this token now, you won't be able to see it again:", newToken: 'New token', name: 'Name', namePlaceholder: 'My script', scopes: 'Scopes', create: 'Create token', empty: "You haven't created any tokens yet.", revoke: 'Revoke', revokeConfirm: 'Revoke token "{name}"?', scopesLabel: 'scopes', }, authorizedApps: { title: 'Authorized Apps', subtitle: "Third-party apps you've granted access to your account.", empty: "You haven't authorized any app yet.", revoke: 'Revoke access', revokeConfirm: 'Revoke access for "{name}"?', scopesLabel: 'scopes', }, authorize: { title: 'Authorize application', wantsAccess: '{client} wants to access your account ({email}) with the following permissions:', noScopes: 'No additional permissions requested (basic access).', approve: 'Authorize', cancel: 'Cancel', notFoundTitle: 'Request not found', notFoundBody: 'This screen only works when you arrive here redirected by a client application via {path}. Try again from that app.', goDashboard: 'Go to dashboard', }, adminUsers: { title: 'Users', subtitle: 'Create, edit role/status and delete accounts.', newUser: 'New user', name: 'Name', email: 'Email', password: 'Password', role: 'Role', roleUser: 'User', roleAdmin: 'Admin', create: 'Create user', colName: 'Name', colEmail: 'Email', colRole: 'Role', colStatus: 'Status', active: 'Active', inactive: 'Deactivated', noRole: '(no role)', edit: 'Edit', delete: 'Delete', deleteConfirm: "Delete user \"{name}\"? They'll go to the trash and can be restored.", deleteFailed: 'Could not delete the user.', newPassword: 'New password', noChange: '(no change)', save: 'Save', cancel: 'Cancel', appRolesTitle: 'Roles per app', appRolesDesc: 'The global role above rules this panel. Here you set what role {name} has inside each app when that app asks for their user via API.', noAppRoles: 'No roles assigned in any app yet.', chooseApp: 'Choose app…', assign: 'Assign', assignFailed: 'Could not assign the role.', trashTitle: 'Trash', viewTrash: 'View trash', viewActive: 'View active', trashEmpty: 'No deleted users.', deletedAt: 'Deleted on {date}', restore: 'Restore', restoreFailed: 'Could not restore the user.', forceDelete: 'Delete permanently', forceDeleteConfirm: 'Permanently delete "{name}"? This action cannot be undone.', forceDeleteFailed: 'Could not permanently delete the user.', pendingTitle: 'Pending', viewPending: 'Pending', pendingEmpty: 'No registrations pending approval.', registeredAt: 'Registered on {date}', approve: 'Approve', approveFailed: 'Could not approve the user.', reject: 'Reject', rejectConfirm: 'Reject the registration for "{name}"? It will go to the trash and can be restored later.', rejectFailed: 'Could not reject the registration.', }, analytics: { title: 'Analytics', subtitle: 'Sessions, logins by app and user activity.', last7: 'Last 7 days', last30: 'Last 30 days', last90: 'Last 90 days', totalUsers: 'Total users', activeSessions: 'Active sessions', activeSessionsHint: 'valid OAuth tokens', loginsToday: 'Logins today', logins7d: 'Logins last 7 days', loginsByDay: 'Logins by day', appsOAuth: 'Apps (OAuth)', panelAdmin: 'Admin panel', loginsByApp: 'Logins by app', topUsers: 'Most active users', noAppLogins: 'No app logins in this period yet.', noUserActivity: 'No activity in this period yet.', recentActivity: 'Recent activity', hide: 'Hide', viewAll: 'View all', colUser: 'User', colApp: 'App', colType: 'Type', colIp: 'IP', colWhen: 'When', serviceNoUser: '(service, no user)', deletedApp: '(deleted app)', recentCount: '{count} recent events — click "View all" for the full table.', chartAriaLabel: 'Logins by day, stacked by type', tooltipAppLabel: 'Apps (OAuth):', tooltipSessionLabel: 'Admin panel:', barAriaLabel: '{date}: {oauth} app logins, {session} to admin panel', }, }; export default en;