chore(i18n,ui): 全站冗长文案精简 + shadcn 样板汉化 + 一致性修复

- 文案:约 25 组长文案中英同步精简(数据源引导/RBAC 注解/采集提示/删除确认等),三处重复 Ingress 教学收敛
- 汉化 shadcn 样板:分页 Previous/Next/aria、弹窗与抽屉 Close 接入 i18n(common.ui.*)
- 一致性:查询授权面板 p-4、仪表盘卡片 p-6、分析卡头 pb-3、部署总数图标配色、
  每日统计错误可重试、策略卡/最近部署行 truncate、状态徽章字重、三处原生 checkbox 换 shadcn、Label 浏览器圆角
- 词典:删除无引用的 raw.*/views.* 死键;zh 复数键风格统一(importCount/hits)
- 快捷查询提示、Ingress 统计口径与表内说明按反馈删减
This commit is contained in:
opsx committed 2026-10-28 22:44:06 +08:00
1 parent 2da0a2bece
commit 3a8eb521e2
34 files changed
+162 -240

No files matched your search

+2 -1
View File
@@ -1,3 +1,4 @@
import i18n from '@/i18n'
import * as React from "react"
import * as DialogPrimitive from "@radix-ui/react-dialog"
import { XIcon } from "lucide-react"
@@ -70,7 +71,7 @@ function DialogContent({
className="ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"
>
<XIcon />
<span className="sr-only">Close</span>
<span className="sr-only">{i18n.t('ui.close', { ns: 'common' })}</span>
</DialogPrimitive.Close>
)}
</DialogPrimitive.Content>
+6 -5
View File
@@ -1,3 +1,4 @@
import i18n from '@/i18n'
import * as React from "react"
import {
ChevronLeftIcon,
@@ -71,13 +72,13 @@ function PaginationPrevious({
}: React.ComponentProps<typeof PaginationLink>) {
return (
<PaginationLink
aria-label="Go to previous page"
aria-label={i18n.t('ui.goPrevPage', { ns: 'common' })}
size="default"
className={cn("gap-1 px-2.5 sm:pl-2.5", className)}
{...props}
>
<ChevronLeftIcon />
<span className="hidden sm:block">Previous</span>
<span className="hidden sm:block">{i18n.t('ui.prevPage', { ns: 'common' })}</span>
</PaginationLink>
)
}
@@ -88,12 +89,12 @@ function PaginationNext({
}: React.ComponentProps<typeof PaginationLink>) {
return (
<PaginationLink
aria-label="Go to next page"
aria-label={i18n.t('ui.goNextPage', { ns: 'common' })}
size="default"
className={cn("gap-1 px-2.5 sm:pr-2.5", className)}
{...props}
>
<span className="hidden sm:block">Next</span>
<span className="hidden sm:block">{i18n.t('ui.nextPage', { ns: 'common' })}</span>
<ChevronRightIcon />
</PaginationLink>
)
@@ -111,7 +112,7 @@ function PaginationEllipsis({
{...props}
>
<MoreHorizontalIcon className="size-4" />
<span className="sr-only">More pages</span>
<span className="sr-only">{i18n.t('ui.morePages', { ns: 'common' })}</span>
</span>
)
}
+2 -1
View File
@@ -1,3 +1,4 @@
import i18n from '@/i18n'
import * as React from "react"
import * as SheetPrimitive from "@radix-ui/react-dialog"
import { XIcon } from "lucide-react"
@@ -72,7 +73,7 @@ function SheetContent({
{children}
<SheetPrimitive.Close className="ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none">
<XIcon className="size-4" />
<span className="sr-only">Close</span>
<span className="sr-only">{i18n.t('ui.close', { ns: 'common' })}</span>
</SheetPrimitive.Close>
</SheetPrimitive.Content>
</SheetPortal>