fix: preserve zh locale in i18n cleanup

This commit is contained in:
Heatherm Huang
2026-06-30 22:06:27 +08:00
parent 6e54776509
commit b4f38b092f
7 changed files with 291 additions and 110 deletions
+65
View File
@@ -2442,6 +2442,21 @@ export default {
duplicateModels: 'Model "{0}" appears in multiple pricing entries',
modelConflict: "Model patterns '{model1}' and '{model2}' conflict: overlapping match range. Model names are matched case-insensitively, so an existing entry already covers all case variants — no need to add the variant separately.",
mappingConflict: "Mapping source patterns '{model1}' and '{model2}' conflict: overlapping match range. Source patterns are matched case-insensitively, so an existing entry already covers all case variants.",
intervalValidation: {
negativeMin: 'Interval #{index}: minimum token count ({value}) cannot be negative',
maxPositive: 'Interval #{index}: maximum token count ({value}) must be greater than 0',
maxGreaterThanMin: 'Interval #{index}: maximum token count ({max}) must be greater than minimum token count ({min})',
negativePrice: 'Interval #{index}: {field} cannot be negative',
unboundedLast: 'Interval #{index}: an unbounded interval (empty maximum token count) must be last',
overlap: 'Intervals #{previousIndex} and #{currentIndex} overlap: previous upper bound ({previousMax}) is greater than current lower bound ({currentMin})',
price: {
inputPrice: 'input price',
outputPrice: 'output price',
cacheWritePrice: 'cache write price',
cacheReadPrice: 'cache read price',
perRequestPrice: 'per-request price'
}
},
deleteConfirm: 'Are you sure you want to delete channel "{name}"? This cannot be undone.',
columns: {
name: 'Name',
@@ -2476,10 +2491,15 @@ export default {
outputPrice: 'Output',
cacheWritePrice: 'Cache Write',
cacheReadPrice: 'Cache Read',
cacheWritePriceShort: 'Cache W',
cacheReadPriceShort: 'Cache R',
imageTokenPrice: 'Image Output',
imageOutputPrice: 'Image Output Price',
pricePlaceholder: 'Default',
intervals: 'Context Intervals (optional)',
minTokens: 'Min',
maxTokens: 'Max',
inclusive: '(inclusive)',
addInterval: 'Add Interval',
requestTiers: 'Request Tiers',
imageTiers: 'Image Tiers (Per Request)',
@@ -4798,6 +4818,51 @@ export default {
loadingText: 'loading',
ready: 'ready',
autoRefreshRemaining: 'Remaining {seconds}s',
systemLogs: {
title: 'System Logs',
description: 'Newest logs are shown first. Filter, search, and clean up by condition.',
queue: 'Queue',
written: 'Written',
dropped: 'Dropped',
failed: 'Failed',
runtimeConfig: 'Runtime Log Configuration (applies immediately)',
all: 'All',
level: 'Level',
stacktraceThreshold: 'Stacktrace threshold',
samplingInitial: 'Sampling initial',
samplingThereafter: 'Sampling thereafter',
retentionDays: 'Retention days',
caller: 'caller',
sampling: 'sampling',
saveAndApply: 'Save and apply',
resetDefaults: 'Reset defaults',
latestWriteError: 'Latest write error:',
timeRange: 'Time range',
startTime: 'Start time (optional)',
endTime: 'End time (optional)',
component: 'Component',
componentPlaceholder: 'e.g. http.access',
keyId: 'KEY ID',
platform: 'Platform',
model: 'Model',
keyword: 'Keyword',
keywordPlaceholder: 'message/request_id',
search: 'Search',
cleanCurrentFilters: 'Clean current filters',
refreshHealth: 'Refresh health',
empty: 'No system logs',
time: 'Time',
logDetails: 'Log Details',
loadFailed: 'Failed to load system logs',
runtimeConfigActive: 'Runtime log configuration is active',
runtimeConfigSaveFailed: 'Failed to save log configuration',
resetRuntimeConfigConfirm: 'Reset to startup configuration (env/yaml) and apply immediately?',
runtimeConfigReset: 'Reset to startup log configuration',
runtimeConfigResetFailed: 'Failed to reset log configuration',
cleanupConfirm: 'Clean up system logs matching the current filters? This cannot be undone.',
cleanupSuccess: 'Cleanup complete. Deleted {count} log entries.',
cleanupFailed: 'Failed to clean up system logs'
},
requestsTotal: 'Requests (total)',
slaScope: 'SLA scope:',
tokens: 'Tokens',
+65
View File
@@ -2518,6 +2518,21 @@ export default {
duplicateModels: '模型「{0}」在多个定价条目中重复',
modelConflict: "模型模式 '{model1}' 和 '{model2}' 冲突:匹配范围重叠。模型名称按大小写不敏感匹配,已有条目已覆盖其所有大小写变体,无需重复添加。",
mappingConflict: "模型映射源 '{model1}' 和 '{model2}' 冲突:匹配范围重叠。源模式按大小写不敏感匹配,已有条目已覆盖其所有大小写变体。",
intervalValidation: {
negativeMin: '区间 #{index}:最小 token 数({value})不能为负数',
maxPositive: '区间 #{index}:最大 token 数({value})必须大于 0',
maxGreaterThanMin: '区间 #{index}:最大 token 数({max})必须大于最小 token 数({min})',
negativePrice: '区间 #{index}:{field}不能为负数',
unboundedLast: '区间 #{index}:无上限区间(最大 token 数为空)必须放在最后',
overlap: '区间 #{previousIndex} 和 #{currentIndex} 重叠:前一个上界({previousMax})大于当前下界({currentMin})',
price: {
inputPrice: '输入价格',
outputPrice: '输出价格',
cacheWritePrice: '缓存写入价格',
cacheReadPrice: '缓存读取价格',
perRequestPrice: '单次价格'
}
},
deleteConfirm: '确定要删除渠道「{name}」吗?此操作不可撤销。',
columns: {
name: '名称',
@@ -2552,10 +2567,15 @@ export default {
outputPrice: '输出',
cacheWritePrice: '缓存写入',
cacheReadPrice: '缓存读取',
cacheWritePriceShort: '缓存写',
cacheReadPriceShort: '缓存读',
imageTokenPrice: '图片输出',
imageOutputPrice: '图片输出价格',
pricePlaceholder: '默认',
intervals: '上下文区间定价(可选)',
minTokens: '最小',
maxTokens: '最大',
inclusive: '(含)',
addInterval: '添加区间',
requestTiers: '按次计费层级',
imageTiers: '图片计费层级(按次)',
@@ -4952,6 +4972,51 @@ export default {
loadingText: '加载中...',
ready: '就绪',
autoRefreshRemaining: '剩余 {seconds}s',
systemLogs: {
title: '系统日志',
description: '优先显示最新日志,可按条件筛选、搜索和清理。',
queue: '队列',
written: '已写入',
dropped: '已丢弃',
failed: '写入失败',
runtimeConfig: '运行时日志配置(立即生效)',
all: '全部',
level: '级别',
stacktraceThreshold: '堆栈阈值',
samplingInitial: '采样初始条数',
samplingThereafter: '后续采样间隔',
retentionDays: '保留天数',
caller: '调用方',
sampling: '采样',
saveAndApply: '保存并应用',
resetDefaults: '重置默认值',
latestWriteError: '最近写入错误:',
timeRange: '时间范围',
startTime: '开始时间(可选)',
endTime: '结束时间(可选)',
component: '组件',
componentPlaceholder: '例如 http.access',
keyId: 'KEY ID',
platform: '平台',
model: '模型',
keyword: '关键词',
keywordPlaceholder: 'message/request_id',
search: '搜索',
cleanCurrentFilters: '清理当前筛选结果',
refreshHealth: '刷新健康状态',
empty: '暂无系统日志',
time: '时间',
logDetails: '日志详情',
loadFailed: '加载系统日志失败',
runtimeConfigActive: '运行时日志配置已生效',
runtimeConfigSaveFailed: '保存日志配置失败',
resetRuntimeConfigConfirm: '确定要重置为启动配置(env/yaml)并立即应用吗?',
runtimeConfigReset: '已重置为启动日志配置',
runtimeConfigResetFailed: '重置日志配置失败',
cleanupConfirm: '确定要清理匹配当前筛选条件的系统日志吗?此操作不可撤销。',
cleanupSuccess: '清理完成,已删除 {count} 条日志。',
cleanupFailed: '清理系统日志失败'
},
requestsTotal: '请求(总计)',
slaScope: 'SLA 范围:',
tokens: 'Token数',