feat(i18n): add batch group switch text to English, Nepali, and Chinese locales

- Updated the English, Nepali, and Chinese locale files to include a new translation for "Toggle batch switch for {{group}}".
- Enhanced internationalization support for the admin interface by adding relevant strings for improved user experience.
This commit is contained in:
2026-05-26 10:33:03 +08:00
parent fbe385666a
commit 05fa0cbeec
15 changed files with 328 additions and 357 deletions

View File

@@ -16,10 +16,9 @@ import {
} from "@/api/admin-users";
import { AdminListPaginationFooter } from "@/components/admin/admin-list-pagination-footer";
import { AdminTableExportButton } from "@/components/admin/admin-table-export-button";
import { AdminStatusBadge } from "@/components/admin/admin-status-badge";
import { Badge } from "@/components/ui/badge";
import { resolveAdminUserStatusTone } from "@/lib/admin-status-tone";
import { Button } from "@/components/ui/button";
import { Switch } from "@/components/ui/switch";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Checkbox } from "@/components/ui/checkbox";
import {
@@ -92,12 +91,6 @@ export function AdminUsersConsole(): React.ReactElement {
[catalog],
);
const selectClassName = cn(
"h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base outline-none transition-colors",
"focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 md:text-sm",
"dark:bg-input/30 disabled:cursor-not-allowed disabled:opacity-50",
);
const load = useCallback(async () => {
setLoading(true);
setErr(null);
@@ -398,9 +391,13 @@ export function AdminUsersConsole(): React.ReactElement {
</TableCell>
<TableCell>{row.nickname ?? ""}</TableCell>
<TableCell>
<AdminStatusBadge status={row.status} tone={resolveAdminUserStatusTone(row.status)}>
{row.status === 0 ? t("status.enabled") : t("status.disabled")}
</AdminStatusBadge>
<div className="flex justify-center">
<Switch
checked={row.status === 0}
disabled
aria-label={t("table.status")}
/>
</div>
</TableCell>
<TableCell>
<div className="flex flex-wrap gap-1">
@@ -634,16 +631,19 @@ export function AdminUsersConsole(): React.ReactElement {
</div>
</div>
) : null}
<div className="space-y-1.5">
<div className="text-sm font-medium leading-none">{t("table.status")}</div>
<select
className={selectClassName}
value={formStatus}
onChange={(e) => setFormStatus(Number(e.target.value))}
>
<option value={0}>{t("status.enabled")}</option>
<option value={1}>{t("status.disabled")}</option>
</select>
<div className="flex items-center justify-between rounded-xl border border-border/70 p-3">
<div className="space-y-1">
<p className="text-sm font-medium">{t("table.status")}</p>
<p className="text-xs text-muted-foreground">
{formStatus === 0 ? t("status.enabled") : t("status.disabled")}
</p>
</div>
<Switch
checked={formStatus === 0}
disabled={accountSaving}
aria-label={t("table.status")}
onCheckedChange={(checked) => setFormStatus(checked ? 0 : 1)}
/>
</div>
</div>
<div className="flex flex-col-reverse gap-2 sm:flex-row sm:justify-end">