Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
139 changes: 136 additions & 3 deletions frontend/src/i18n/locales/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -949,15 +949,27 @@ export default {
title: 'Admin Dashboard',
description: 'System overview and real-time statistics',
apiKeys: 'API Keys',
totalApiKeys: 'Total API Keys',
activeApiKeys: 'Active API Keys',
accounts: 'Accounts',
totalAccounts: 'Total Accounts',
activeAccounts: 'Active Accounts',
users: 'Users',
totalUsers: 'Total Users',
todayRequests: 'Today Requests',
totalRequests: 'Total Requests',
newUsersToday: 'New Users Today',
todayCost: 'Today Cost',
totalCost: 'Total Cost',
todayTokens: 'Today Tokens',
totalTokens: 'Total Tokens',
input: 'Input',
output: 'Output',
cacheToday: 'Cache (Today)',
cache: 'Cache',
performance: 'Performance',
avgResponse: 'Avg Response',
averageTime: 'Average Time',
active: 'active',
ok: 'ok',
err: 'err',
Expand Down Expand Up @@ -994,6 +1006,17 @@ export default {
spendShort: 'Spend',
requestsShort: 'Req',
tokensShort: 'Tok',
last7Days: 'Last 7 Days',
noUsageRecords: 'No usage records',
startUsingApi: 'Start using the API to see your usage history here.',
viewAllUsage: 'View All',
quickActions: 'Quick Actions',
manageUsers: 'Manage Users',
viewUserAccounts: 'View and manage user accounts',
manageAccounts: 'Manage Accounts',
configureAiAccounts: 'Configure AI platform accounts',
systemSettings: 'System Settings',
configureSystem: 'Configure system settings',
failedToLoad: 'Failed to load dashboard statistics'
},

Expand Down Expand Up @@ -1294,9 +1317,14 @@ export default {
createUser: 'Create User',
editUser: 'Edit User',
deleteUser: 'Delete User',
deleteConfirmMessage: "Are you sure you want to delete user '{email}'? This action cannot be undone.",
searchUsers: 'Search by email, username, notes, or API key...',
searchPlaceholder: 'Search by email, username, notes, or API key...',
roleFilter: 'Filter by Role',
statusFilter: 'Filter by Status',
allRoles: 'All Roles',
allStatus: 'All Status',
allStatuses: 'All Statuses',
allGroups: 'All Groups',
searchGroups: 'Search groups...',
fuzzySearch: 'Fuzzy search',
Expand All @@ -1318,6 +1346,38 @@ export default {
copyPassword: 'Copy password',
creating: 'Creating...',
updating: 'Updating...',
form: {
emailLabel: 'Email',
emailPlaceholder: 'Enter email',
usernameLabel: 'Username',
usernamePlaceholder: 'Enter username (optional)',
notesLabel: 'Notes',
notesPlaceholder: 'Enter notes (admin only)',
notesHint: 'This note is only visible to administrators',
passwordLabel: 'Password',
passwordPlaceholder: 'Enter password (leave empty to keep)',
roleLabel: 'Role',
selectRole: 'Select role',
balanceLabel: 'Balance',
concurrencyLabel: 'Concurrency',
statusLabel: 'Status',
selectStatus: 'Select status'
},
adjustBalance: 'Adjust Balance',
adjustConcurrency: 'Adjust Concurrency',
adjustmentAmount: 'Adjustment Amount',
adjustmentAmountHint: 'Positive to add, negative to subtract',
currentConcurrency: 'Current Concurrency',
saving: 'Saving...',
noUsers: 'No users',
noUsersDescription: 'Create your first user to get started.',
userCreatedSuccess: 'User created successfully',
userUpdatedSuccess: 'User updated successfully',
userDeletedSuccess: 'User deleted successfully',
balanceAdjustedSuccess: 'Balance adjusted successfully',
concurrencyAdjustedSuccess: 'Concurrency adjusted successfully',
failedToSave: 'Failed to save user',
failedToAdjust: 'Failed to adjust',
columns: {
user: 'User',
email: 'Email',
Expand Down Expand Up @@ -1529,7 +1589,10 @@ export default {
name: 'Name',
platform: 'Platform',
rateMultiplier: 'Rate Multiplier',
exclusive: 'Exclusive',
type: 'Type',
priority: 'Priority',
apiKeys: 'API Key Count',
accounts: 'Accounts',
capacity: 'Capacity',
usage: 'Usage',
Expand All @@ -1541,6 +1604,11 @@ export default {
userNotes: 'Notes',
userStatus: 'Status'
},
exclusiveFilter: 'Exclusive',
exclusiveObj: {
yes: 'Yes',
no: 'No'
},
usageToday: 'Today',
usageTotal: 'Total',
accountsAvailable: 'Avail:',
Expand All @@ -1555,7 +1623,22 @@ export default {
platform: 'Platform',
rateMultiplier: 'Rate Multiplier',
status: 'Status',
exclusive: 'Exclusive Group'
exclusive: 'Exclusive Group',
nameLabel: 'Group Name',
namePlaceholder: 'Enter group name',
descriptionLabel: 'Description',
descriptionPlaceholder: 'Enter description (optional)',
rateMultiplierLabel: 'Rate Multiplier',
rateMultiplierHint: '1.0 = standard rate, 0.5 = half price, 2.0 = double',
exclusiveLabel: 'Exclusive Group',
exclusiveHint: 'Exclusive group, can be manually assigned to users',
platformLabel: 'Platform Restriction',
platformPlaceholder: 'Select platform (empty for no restriction)',
accountsLabel: 'Assigned Accounts',
accountsPlaceholder: 'Select accounts (empty for no restriction)',
priorityLabel: 'Priority',
priorityHint: 'Lower value means higher priority, used for account scheduling',
statusLabel: 'Status'
},
enterGroupName: 'Enter group name',
optionalDescription: 'Optional description',
Expand All @@ -1579,10 +1662,17 @@ export default {
groupCreated: 'Group created successfully',
groupUpdated: 'Group updated successfully',
groupDeleted: 'Group deleted successfully',
saving: 'Saving...',
noGroups: 'No groups',
noGroupsDescription: 'Create groups to better manage API keys and rates.',
groupCreatedSuccess: 'Group created successfully',
groupUpdatedSuccess: 'Group updated successfully',
groupDeletedSuccess: 'Group deleted successfully',
failedToLoad: 'Failed to load groups',
failedToCreate: 'Failed to create group',
failedToUpdate: 'Failed to update group',
failedToDelete: 'Failed to delete group',
failedToSave: 'Failed to save group',
nameRequired: 'Please enter group name',
rateMultipliers: 'Rate Multipliers',
rateMultipliersTitle: 'Group Rate Multipliers',
Expand Down Expand Up @@ -1898,6 +1988,9 @@ export default {
crsBack: 'Back',
editAccount: 'Edit Account',
deleteAccount: 'Delete Account',
deleteConfirmMessage: "Are you sure you want to delete account '{name}'?",
refreshCookie: 'Refresh Cookie',
testAccount: 'Test Account',
searchAccounts: 'Search accounts...',
notes: 'Notes',
notesPlaceholder: 'Enter notes',
Expand Down Expand Up @@ -1938,8 +2031,42 @@ export default {
soraBaseUrlRequired: 'Sora API Key account requires a Base URL',
soraBaseUrlInvalidScheme: 'Base URL must start with http:// or https://',
upstream: 'Upstream',
upstreamDesc: 'Connect via Base URL + API Key'
upstreamDesc: 'Connect via Base URL + API Key',
api_key: 'API Key',
cookie: 'Cookie'
},
form: {
nameLabel: 'Account Name',
namePlaceholder: 'Enter account name',
platformLabel: 'Platform',
selectPlatform: 'Select platform',
typeLabel: 'Type',
selectType: 'Select type',
credentialsLabel: 'Credentials',
credentialsPlaceholder: 'Enter Cookie or API Key',
priorityLabel: 'Priority',
priorityHint: 'Lower value means higher priority',
weightLabel: 'Weight',
weightHint: 'Weight value for load balancing',
statusLabel: 'Status'
},
filters: {
platform: 'Platform',
allPlatforms: 'All Platforms',
type: 'Type',
allTypes: 'All Types',
status: 'Status',
allStatuses: 'All Statuses'
},
saving: 'Saving...',
refreshing: 'Refreshing...',
noAccounts: 'No accounts',
noAccountsDescription: 'Add AI platform accounts to start using the API gateway.',
accountCreatedSuccess: 'Account created successfully',
accountUpdatedSuccess: 'Account updated successfully',
accountDeletedSuccess: 'Account deleted successfully',
cookieRefreshedSuccess: 'Cookie refreshed successfully',
failedToSave: 'Failed to save account',
status: {
active: 'Active',
inactive: 'Inactive',
Expand Down Expand Up @@ -3308,6 +3435,7 @@ export default {
lastRun: 'last_run:',
lastSuccess: 'last_success:',
lastError: 'last_error:',
result: 'Result',
noData: 'No data.',
loadingText: 'loading',
ready: 'ready',
Expand Down Expand Up @@ -3382,7 +3510,8 @@ export default {
'6h': 'Last 6 hours',
'24h': 'Last 24 hours',
'7d': 'Last 7 days',
'30d': 'Last 30 days'
'30d': 'Last 30 days',
custom: 'Custom'
},
openaiTokenStats: {
title: 'OpenAI Token Request Stats',
Expand All @@ -3404,6 +3533,10 @@ export default {
requestsWithFirstToken: 'Requests With First Token'
}
},
customTimeRange: {
startTime: 'Start Time',
endTime: 'End Time'
},
fullscreen: {
enter: 'Enter Fullscreen'
},
Expand Down