feat(i18n): 剩余模块全量国际化 — 51% 覆盖率 (231 文件接入 t())

批量转换 163 个文件,3204 处中文替换为 t() 调用:
- Monitor: 日志中心/告警中心/数据源/大屏/站点拨测/SNMP/中间件 全部转换
- Kubernetes: ResourceVisualEditor/NamespaceResourcePage/拓扑/事件 全部转换
- Deploy: 流水线/发布/凭证/RBAC 全部转换
- Server/Cloud/Agent/Task/Layout/UI: 全部转换
- 翻译词典扩展至 6474 行 (22 namespaces, 5000+ keys)
- tsc 编译零错误
This commit is contained in:
attacker committed 2026-07-03 01:51:57 +08:00
1 parent 78c27037e3
commit ecec73989b
166 files changed
+6925 -2800

No files matched your search

@@ -23,8 +23,10 @@ import PromDsFormDialog from './prometheus-ds/PromDsFormDialog';
import { PageLoading } from '@/components/layout/PageLoading';
import { PageEmpty } from '@/components/layout/PageEmpty';
import { ContentPanel } from '@/components/layout/ContentPanel';
import { useTranslation } from 'react-i18next';
export default function PrometheusDatasourceManager() {
const { t } = useTranslation();
const _confirm = useConfirm();
const { data: sources = [], isLoading, isError } = usePromDatasources();
const { deleteMutation, setDefaultMutation } = usePromDatasourceMutations();
@@ -33,7 +35,7 @@ export default function PrometheusDatasourceManager() {
const [editingDs, setEditingDs] = useState<PromDS | null>(null);
useEffect(() => {
if (isError) toast.error('获取数据源列表失败');
if (isError) toast.error(t('monitor.prometheusdatasourcemanager.s45f817'));
}, [isError]);
const openCreate = () => {
@@ -48,25 +50,25 @@ export default function PrometheusDatasourceManager() {
const handleDelete = async (ds: PromDS) => {
const ok = await _confirm({
title: '删除数据源',
description: `确定删除数据源「${ds.name}」吗?此操作不可撤销。`,
title: t('monitor.deleteDatasource'),
description: t('monitor.prometheusdatasourcemanager.s623d90', { ds.name: ds.name }),
variant: 'destructive',
});
if (!ok) return;
try {
await deleteMutation.mutateAsync(ds.id);
toast.success('已删除');
toast.success(t('alert.deleted'));
} catch {
toast.error('删除失败');
toast.error(t('common.deleteFailed'));
}
};
const handleSetDefault = async (ds: PromDS) => {
try {
await setDefaultMutation.mutateAsync(ds.id);
toast.success(`已将「${ds.name}」设为默认数据源`);
toast.success(t('monitor.prometheusdatasourcemanager.sa8bcc7', { ds.name: ds.name }));
} catch {
toast.error('设置失败');
toast.error(t('monitor.prometheusdatasourcemanager.s9f9603'));
}
};
@@ -94,8 +96,8 @@ export default function PrometheusDatasourceManager() {
{sources.length === 0 ? (
<PageEmpty
icon={<Database className="h-12 w-12" />}
title="暂无 Prometheus 数据源"
description="添加数据源后可用于指标监控与监控大屏"
title=t('monitor.prometheusdatasourcemanager.s99ed81')
description=t('monitor.prometheusdatasourcemanager.sd9a356')
action={(
<Button onClick={openCreate} size="sm" className="dg-btn-primary">
<Plus className="w-4 h-4 mr-1" />添加数据源
@@ -107,11 +109,11 @@ export default function PrometheusDatasourceManager() {
<table className="w-full">
<thead className="border-b border-[var(--border-default)]">
<tr className="text-xs dg-text-secondary">
<th className="text-left py-3 px-4 font-medium">名称</th>
<th className="text-left py-3 px-4 font-medium">{t('common.name')}</th>
<th className="text-left py-3 px-4 font-medium">URL</th>
<th className="text-left py-3 px-4 font-medium w-20">默认</th>
<th className="text-left py-3 px-4 font-medium w-16">状态</th>
<th className="text-right py-3 px-4 font-medium w-36">操作</th>
<th className="text-left py-3 px-4 font-medium w-20">{t('approval.status.default')}</th>
<th className="text-left py-3 px-4 font-medium w-16">{t('common.status')}</th>
<th className="text-right py-3 px-4 font-medium w-36">{t('common.actions')}</th>
</tr>
</thead>
<tbody>
@@ -142,16 +144,16 @@ export default function PrometheusDatasourceManager() {
</td>
<td className="py-3 px-4">
{ds.is_default ? (
<span className="dg-badge-yellow"><Star className="w-3 h-3 mr-1 inline" />默认</span>
<span className="dg-badge-yellow"><Star className="w-3 h-3 mr-1 inline" />{t('approval.status.default')}</span>
) : (
<span className="text-xs dg-text-muted">--</span>
)}
</td>
<td className="py-3 px-4">
{ds.status === 1 ? (
<span className="dg-status-running">启用</span>
<span className="dg-status-running">{t('common.enable')}</span>
) : (
<span className="dg-badge-muted">禁用</span>
<span className="dg-badge-muted">{t('common.disable')}</span>
)}
</td>
<td className="py-3 px-4">
@@ -160,7 +162,7 @@ export default function PrometheusDatasourceManager() {
variant="ghost" size="sm"
className="h-8 px-2"
onClick={() => handleTestQuick(ds)}
title="测试连接"
title=t('aiops.llmTest')
>
<Plug className="w-3.5 h-3.5" />
</Button>
@@ -169,7 +171,7 @@ export default function PrometheusDatasourceManager() {
variant="ghost" size="sm"
className="h-8 px-2 dg-text-yellow"
onClick={() => handleSetDefault(ds)}
title="设为默认"
title=t('aiops.llmSetDefault')
>
<Star className="w-3.5 h-3.5" />
</Button>