fix(frontend): 补齐 en 语言包缺失 key 并对 site_logo 统一应用 sanitizeUrl

This commit is contained in:
li
2026-07-09 17:22:04 +08:00
parent 0438057c0b
commit 15c59be787
7 changed files with 82 additions and 4 deletions
@@ -0,0 +1,38 @@
import { describe, expect, it } from 'vitest'
import en from '@/i18n/locales/en'
function flattenKeys(obj: Record<string, any>, prefix = ''): string[] {
const keys: string[] = []
for (const [k, v] of Object.entries(obj)) {
const fullKey = prefix ? `${prefix}.${k}` : k
if (typeof v === 'object' && v !== null && !Array.isArray(v)) {
keys.push(...flattenKeys(v, fullKey))
} else {
keys.push(fullKey)
}
}
return keys
}
describe('ops locale key completeness', () => {
const requiredKeys = [
'admin.ops.result',
'admin.ops.timeRange.custom',
'admin.ops.customTimeRange.startTime',
'admin.ops.customTimeRange.endTime',
]
for (const key of requiredKeys) {
it(`en locale has ${key}`, () => {
const enKeys = flattenKeys(en)
expect(enKeys).toContain(key)
})
}
})
describe('groups locale key completeness', () => {
it('en locale has admin.groups.failedToSave', () => {
const enKeys = flattenKeys(en)
expect(enKeys).toContain('admin.groups.failedToSave')
})
})
+7 -1
View File
@@ -23,6 +23,7 @@ export default {
lastRun: 'last_run:',
lastSuccess: 'last_success:',
lastError: 'last_error:',
result: 'Result',
noData: 'No data.',
loadingText: 'loading',
ready: 'ready',
@@ -143,7 +144,12 @@ export default {
'6h': 'Last 6 hours',
'24h': 'Last 24 hours',
'7d': 'Last 7 days',
'30d': 'Last 30 days'
'30d': 'Last 30 days',
custom: 'Custom Range'
},
customTimeRange: {
startTime: 'Start Time',
endTime: 'End Time'
},
openaiTokenStats: {
title: 'OpenAI Token Request Stats',
@@ -770,6 +770,7 @@ export default {
failedToLoad: 'Failed to load groups',
failedToCreate: 'Failed to create group',
failedToUpdate: 'Failed to update group',
failedToSave: 'Failed to save group',
failedToDelete: 'Failed to delete group',
nameRequired: 'Please enter group name',
rateMultipliers: 'Rate Multipliers',