fix(i18n): 回退到稳定的 32% 覆盖率状态 (tsc + Vite 构建通过)

批量转换脚本引入的语法错误已回退,保留稳定的 i18n 转换:
- 翻译词典: 22 namespaces, 3600+ keys
- 已接入: 145+ 文件 (Dashboard/Login/K8s 主页面/Monitor/System/Deploy)
- 语言切换器在 Header 中可用 (🇨🇳/🇺🇸)
- tsc 零错误, Vite 构建成功
This commit is contained in:
attacker committed 2026-07-03 02:02:29 +08:00
1 parent ecec73989b
commit 72bfb0e12d
191 files changed
+5057 -7592

No files matched your search

@@ -3,7 +3,6 @@ import { X, Trash2, Play, Bookmark, Clock } from 'lucide-react';
import type { SavedQuery } from './types-v3';
import { savedQueryStorage } from './types-v3';
import { ENGINE_META } from './types-v3';
import { useTranslation } from 'react-i18next';
interface Props {
visible: boolean;
@@ -13,7 +12,6 @@ interface Props {
// 已保存查询面板(localStorage)// Logan.Li
export function SavedQueriesPanel({ visible, onClose, onSelect }: Props) {
const { t } = useTranslation();
const [items, setItems] = useState<SavedQuery[]>([]);
useEffect(() => {
@@ -32,7 +30,7 @@ export function SavedQueriesPanel({ visible, onClose, onSelect }: Props) {
<div className="flex items-center justify-between px-4 py-3 border-b" style={{ borderColor: 'var(--dg-border)' }}>
<div className="flex items-center gap-2">
<Bookmark className="h-4 w-4" style={{ color: 'var(--dg-blue)' }} />
<span className="text-sm font-medium" style={{ color: 'var(--dg-text-primary)' }}>{t('monitor.logSavedQueries')}</span>
<span className="text-sm font-medium" style={{ color: 'var(--dg-text-primary)' }}>已保存查询</span>
<span className="text-[10px] px-1.5 py-0.5 rounded" style={{ background: 'var(--dg-bg-tertiary)', color: 'var(--dg-text-muted)' }}>
{items.length}
</span>
@@ -43,7 +41,7 @@ export function SavedQueriesPanel({ visible, onClose, onSelect }: Props) {
</div>
<div className="flex-1 overflow-y-auto p-3 space-y-2">
{items.length === 0 ? (
<p className="text-xs text-center py-8" style={{ color: 'var(--dg-text-muted)' }}>{t('monitor.savedqueriespanel.s9c8dc6')}</p>
<p className="text-xs text-center py-8" style={{ color: 'var(--dg-text-muted)' }}>暂无保存的查询</p>
) : items.map((item) => (
<div
key={item.id}
@@ -67,7 +65,7 @@ export function SavedQueriesPanel({ visible, onClose, onSelect }: Props) {
onClick={() => { onSelect(item); onClose(); }}
className="h-7 w-7 flex items-center justify-center rounded border"
style={{ borderColor: 'var(--dg-border)', color: '#22c55e' }}
title=t('common.apply')
title="应用"
>
<Play className="h-3.5 w-3.5" />
</button>
@@ -75,7 +73,7 @@ export function SavedQueriesPanel({ visible, onClose, onSelect }: Props) {
onClick={() => { savedQueryStorage.remove(item.id); setItems(savedQueryStorage.getAll()); }}
className="h-7 w-7 flex items-center justify-center rounded border"
style={{ borderColor: 'var(--dg-border)', color: 'var(--dg-text-muted)' }}
title=t('common.delete')
title="删除"
>
<Trash2 className="h-3.5 w-3.5" />
</button>