feat(web): enforce Traditional Chinese security wording
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -32,7 +32,7 @@ const navItems = [
|
||||
icon: FileText,
|
||||
},
|
||||
{
|
||||
label: "Run 監控",
|
||||
label: "執行監控",
|
||||
href: "/awooop/runs" as const,
|
||||
icon: Activity,
|
||||
},
|
||||
@@ -67,18 +67,18 @@ export default function AwoooPLayout({
|
||||
</span>
|
||||
<div>
|
||||
<h1 className="text-lg font-semibold tracking-normal text-[#141413]">
|
||||
AwoooP Operator Console
|
||||
AwoooP 操作控制台
|
||||
</h1>
|
||||
<div className="mt-1 flex items-center gap-2 text-xs text-[#77736a]">
|
||||
<span className="font-mono">Control Plane</span>
|
||||
<span>控制平面</span>
|
||||
<span className="h-1 w-1 rounded-full bg-[#d97757]" />
|
||||
<span className="font-mono">Shadow First</span>
|
||||
<span>影子模式優先</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span className="inline-flex items-center gap-2 border border-[#d8d3c7] bg-white px-3 py-1.5 text-xs font-semibold text-[#141413]">
|
||||
<span className="h-1.5 w-1.5 rounded-full bg-[#22c55e]" />
|
||||
OPERATOR
|
||||
操作員
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -365,7 +365,7 @@ function ShadowBadge({ isShadow }: { isShadow: boolean }) {
|
||||
if (!isShadow) return <span className="text-muted-foreground text-sm">--</span>;
|
||||
return (
|
||||
<span className="inline-flex items-center border border-[#d8d3c7] bg-white px-2 py-0.5 text-xs font-medium text-[#5f5b52]">
|
||||
Shadow
|
||||
影子
|
||||
</span>
|
||||
);
|
||||
}
|
||||
@@ -1006,7 +1006,7 @@ export default function RunsPage() {
|
||||
<div className="flex items-center gap-3">
|
||||
<Activity className="w-5 h-5 text-brand-accent" aria-hidden="true" />
|
||||
<div>
|
||||
<h2 className="text-lg font-semibold text-foreground">Run 監控</h2>
|
||||
<h2 className="text-lg font-semibold text-foreground">執行監控</h2>
|
||||
<p className="text-xs text-muted-foreground">
|
||||
{loading
|
||||
? "載入中..."
|
||||
@@ -1193,7 +1193,7 @@ export default function RunsPage() {
|
||||
<div className="flex items-start gap-3 p-4 bg-red-900/20 border border-red-800/40 rounded-lg">
|
||||
<AlertCircle className="w-5 h-5 text-red-400 flex-shrink-0 mt-0.5" aria-hidden="true" />
|
||||
<div>
|
||||
<p className="text-sm font-medium text-red-300">無法載入 Run 資料</p>
|
||||
<p className="text-sm font-medium text-red-300">無法載入執行資料</p>
|
||||
<p className="text-xs text-red-400 mt-1">{error}</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1202,35 +1202,35 @@ export default function RunsPage() {
|
||||
{/* Table */}
|
||||
<div className="overflow-hidden border border-[#e0ddd4] bg-white shadow-[0_1px_4px_rgba(0,0,0,0.05)]">
|
||||
<div className="overflow-x-auto">
|
||||
<table className="w-full" role="table" aria-label="Run 清單">
|
||||
<table className="w-full" role="table" aria-label="執行清單">
|
||||
<thead>
|
||||
<tr className="border-b border-border bg-muted/50">
|
||||
<th className="text-left px-4 py-3 text-xs font-medium text-muted-foreground uppercase tracking-wider">
|
||||
Run ID
|
||||
執行 ID
|
||||
</th>
|
||||
<th className="text-left px-4 py-3 text-xs font-medium text-muted-foreground uppercase tracking-wider">
|
||||
Project ID
|
||||
專案 ID
|
||||
</th>
|
||||
<th className="text-left px-4 py-3 text-xs font-medium text-muted-foreground uppercase tracking-wider">
|
||||
{tEvidence("incident.column")}
|
||||
</th>
|
||||
<th className="text-left px-4 py-3 text-xs font-medium text-muted-foreground uppercase tracking-wider">
|
||||
Agent
|
||||
代理
|
||||
</th>
|
||||
<th className="text-left px-4 py-3 text-xs font-medium text-muted-foreground uppercase tracking-wider">
|
||||
狀態
|
||||
</th>
|
||||
<th className="text-left px-4 py-3 text-xs font-medium text-muted-foreground uppercase tracking-wider">
|
||||
處置 Lane
|
||||
處置路線
|
||||
</th>
|
||||
<th className="text-left px-4 py-3 text-xs font-medium text-muted-foreground uppercase tracking-wider">
|
||||
{tEvidence("column")}
|
||||
</th>
|
||||
<th className="text-left px-4 py-3 text-xs font-medium text-muted-foreground uppercase tracking-wider">
|
||||
Shadow
|
||||
影子模式
|
||||
</th>
|
||||
<th className="text-left px-4 py-3 text-xs font-medium text-muted-foreground uppercase tracking-wider">
|
||||
成本 / Steps
|
||||
成本 / 步驟
|
||||
</th>
|
||||
<th className="text-left px-4 py-3 text-xs font-medium text-muted-foreground uppercase tracking-wider">
|
||||
建立時間
|
||||
@@ -1252,7 +1252,7 @@ export default function RunsPage() {
|
||||
<tr>
|
||||
<td colSpan={10} className="px-4 py-16 text-center">
|
||||
<Activity className="w-10 h-10 text-muted-foreground/30 mx-auto mb-3" aria-hidden="true" />
|
||||
<p className="text-sm text-muted-foreground">尚無 Run 資料</p>
|
||||
<p className="text-sm text-muted-foreground">尚無執行資料</p>
|
||||
</td>
|
||||
</tr>
|
||||
) : (
|
||||
|
||||
Reference in New Issue
Block a user