update translations

This commit is contained in:
Henry Dollman
2024-10-30 12:18:12 -04:00
parent 2c4ea6f52a
commit 929d94f705
14 changed files with 89 additions and 32 deletions

View File

@@ -2,19 +2,19 @@ import { useEffect, useMemo, useRef } from "react"
import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from "./ui/dialog" import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from "./ui/dialog"
import { Textarea } from "./ui/textarea" import { Textarea } from "./ui/textarea"
import { $copyContent } from "@/lib/stores" import { $copyContent } from "@/lib/stores"
import { useTranslation } from "react-i18next"
export default function CopyToClipboard({ content }: { content: string }) { export default function CopyToClipboard({ content }: { content: string }) {
const { t } = useTranslation()
return ( return (
<Dialog defaultOpen={true}> <Dialog defaultOpen={true}>
<DialogContent className="w-[90%] rounded-lg" style={{ maxWidth: 530 }}> <DialogContent className="w-[90%] rounded-lg md:pt-4" style={{ maxWidth: 530 }}>
<DialogHeader> <DialogHeader>
<DialogTitle>Could not copy to clipboard</DialogTitle> <DialogTitle>{t("clipboard.title")}</DialogTitle>
<DialogDescription>Please copy the text manually.</DialogDescription> <DialogDescription className="hidden xs:block">{t("clipboard.des")}</DialogDescription>
</DialogHeader> </DialogHeader>
<CopyTextarea content={content} /> <CopyTextarea content={content} />
<p className="text-sm text-muted-foreground">
Clipboard API requires a secure context (https, localhost, or *.localhost)
</p>
</DialogContent> </DialogContent>
</Dialog> </Dialog>
) )

View File

@@ -28,6 +28,7 @@ import {
} from "@/components/ui/dropdown-menu" } from "@/components/ui/dropdown-menu"
import { AddSystemButton } from "./add-system" import { AddSystemButton } from "./add-system"
import { useTranslation } from "react-i18next" import { useTranslation } from "react-i18next"
import { TFunction } from "i18next"
const CommandPalette = lazy(() => import("./command-palette")) const CommandPalette = lazy(() => import("./command-palette"))
@@ -38,10 +39,10 @@ export default function Navbar() {
return ( return (
<div className="flex items-center h-14 md:h-16 bg-card px-4 pr-3 sm:px-6 border bt-0 rounded-md my-4"> <div className="flex items-center h-14 md:h-16 bg-card px-4 pr-3 sm:px-6 border bt-0 rounded-md my-4">
<Link href="/" aria-label="Home" className={"p-2 pl-0"}> <Link href="/" aria-label="Home" className={"p-2 pl-0"}>
<Logo className="h-[1.15rem] md:h-[1.3em] fill-foreground" /> <Logo className="h-[1.15rem] md:h-[1.25em] fill-foreground" />
</Link> </Link>
<SearchButton /> <SearchButton t={t} />
<div className={"flex ml-auto items-center"}> <div className={"flex ml-auto items-center"}>
<LangToggle /> <LangToggle />
@@ -111,7 +112,7 @@ export default function Navbar() {
) )
} }
function SearchButton() { function SearchButton({ t }: { t: TFunction<"translation", undefined> }) {
const [open, setOpen] = useState(false) const [open, setOpen] = useState(false)
const Kbd = ({ children }: { children: React.ReactNode }) => ( const Kbd = ({ children }: { children: React.ReactNode }) => (
@@ -129,8 +130,8 @@ function SearchButton() {
> >
<span className="flex items-center"> <span className="flex items-center">
<SearchIcon className="mr-1.5 h-4 w-4" /> <SearchIcon className="mr-1.5 h-4 w-4" />
Search {t("search")}
<span className="sr-only">Search</span> <span className="sr-only">{t("search")}</span>
<span className="flex items-center ml-3.5"> <span className="flex items-center ml-3.5">
<Kbd>{isMac ? "⌘" : "Ctrl"}</Kbd> <Kbd>{isMac ? "⌘" : "Ctrl"}</Kbd>
<Kbd>K</Kbd> <Kbd>K</Kbd>

View File

@@ -100,10 +100,10 @@ export default function () {
)} )}
<Card> <Card>
<CardHeader className="pb-5 px-2 sm:px-6 max-sm:pt-5 max-sm:pb-1"> <CardHeader className="pb-5 px-2 sm:px-6 max-sm:pt-5 max-sm:pb-1">
<div className="grid md:flex gap-3 w-full items-end"> <div className="grid md:flex gap-5 w-full items-end">
<div className="px-2 sm:px-1"> <div className="px-2 sm:px-1">
<CardTitle className="mb-2.5">{t("all_systems")}</CardTitle> <CardTitle className="mb-2.5">{t("all_systems")}</CardTitle>
<CardDescription>{t("home.subtitle_1")}</CardDescription> <CardDescription>{t("home.subtitle")}</CardDescription>
</div> </div>
<Input <Input
placeholder={t("filter")} placeholder={t("filter")}

View File

@@ -9,7 +9,7 @@ import { timeDay, timeHour } from "d3-time"
import { useEffect, useState } from "react" import { useEffect, useState } from "react"
import { CpuIcon, HardDriveIcon, MemoryStickIcon, ServerIcon } from "lucide-react" import { CpuIcon, HardDriveIcon, MemoryStickIcon, ServerIcon } from "lucide-react"
import { EthernetIcon, ThermometerIcon } from "@/components/ui/icons" import { EthernetIcon, ThermometerIcon } from "@/components/ui/icons"
import { t } from "i18next"
export function cn(...inputs: ClassValue[]) { export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs)) return twMerge(clsx(inputs))
} }
@@ -21,7 +21,7 @@ export async function copyToClipboard(content: string) {
await navigator.clipboard.writeText(content) await navigator.clipboard.writeText(content)
toast({ toast({
duration, duration,
description: "Copied to clipboard", description: t("clipboard.copied"),
}) })
} catch (e: any) { } catch (e: any) {
$copyContent.set(content) $copyContent.set(content)

View File

@@ -3,6 +3,7 @@
"filter": "تصفية...", "filter": "تصفية...",
"copy": "نسخ", "copy": "نسخ",
"add": "إضافة", "add": "إضافة",
"search": "بحث",
"system": "نظام", "system": "نظام",
"systems": "الأنظمة", "systems": "الأنظمة",
"cancel": "إلغاء", "cancel": "إلغاء",
@@ -10,7 +11,7 @@
"home": { "home": {
"active_alerts": "التنبيهات النشطة", "active_alerts": "التنبيهات النشطة",
"active_des": "يتجاوز متوسط {{value}}{{unit}} في آخر {{minutes}} دقيقة", "active_des": "يتجاوز متوسط {{value}}{{unit}} في آخر {{minutes}} دقيقة",
"subtitle_1": "يتم التحديث في الوقت الفعلي. انقر على نظام لعرض المعلومات." "subtitle": "يتم التحديث في الوقت الفعلي. انقر على نظام لعرض المعلومات."
}, },
"systems_table": { "systems_table": {
"system": "النظام", "system": "النظام",
@@ -44,7 +45,7 @@
"memory_usage_des": "يتم التفعيل عندما يتجاوز استخدام الذاكرة الحد المعين.", "memory_usage_des": "يتم التفعيل عندما يتجاوز استخدام الذاكرة الحد المعين.",
"disk_usage": "استخدام القرص", "disk_usage": "استخدام القرص",
"disk_usage_des": "يتم التفعيل عندما يتجاوز استخدام أي قرص الحد المعين.", "disk_usage_des": "يتم التفعيل عندما يتجاوز استخدام أي قرص الحد المعين.",
"bandwidth": "عرض النطاق", "bandwidth": "رض النطاق",
"bandwidth_des": "يتم التفعيل عندما يتجاوز مجموع الرفع/التنزيل الحد المعين.", "bandwidth_des": "يتم التفعيل عندما يتجاوز مجموع الرفع/التنزيل الحد المعين.",
"temperature": "درجة الحرارة", "temperature": "درجة الحرارة",
"temperature_des": "يتم التفعيل عندما يتجاوز أي مستشعر الحد المعين." "temperature_des": "يتم التفعيل عندما يتجاوز أي مستشعر الحد المعين."
@@ -173,5 +174,10 @@
"usage": "الاستخدام", "usage": "الاستخدام",
"disk_usage_of": "استخدام القرص لـ", "disk_usage_of": "استخدام القرص لـ",
"throughput_of": "معدل نقل البيانات لـ" "throughput_of": "معدل نقل البيانات لـ"
},
"clipboard": {
"copied": "تم النسخ إلى الحافظة",
"title": "نسخ النص",
"des": "النسخ التلقائي يتطلب سياقاً آمناً."
} }
} }

View File

@@ -3,6 +3,7 @@
"filter": "Filtern...", "filter": "Filtern...",
"copy": "Kopieren", "copy": "Kopieren",
"add": "Hinzufügen", "add": "Hinzufügen",
"search": "Suchen",
"system": "System", "system": "System",
"systems": "Systeme", "systems": "Systeme",
"cancel": "Abbrechen", "cancel": "Abbrechen",
@@ -10,8 +11,7 @@
"home": { "home": {
"active_alerts": "Aktive Warnungen", "active_alerts": "Aktive Warnungen",
"active_des": "Überschreitet {{value}}{{unit}} Durchschnitt in den letzten {{minutes}} Minuten", "active_des": "Überschreitet {{value}}{{unit}} Durchschnitt in den letzten {{minutes}} Minuten",
"subtitle_1": "In Echtzeit aktualisiert. Drücken Sie", "subtitle": "Wird in Echtzeit aktualisiert. Klicken Sie auf ein System, um Informationen anzuzeigen."
"subtitle_2": "um die Befehlsübersicht zu öffnen."
}, },
"systems_table": { "systems_table": {
"system": "System", "system": "System",
@@ -190,5 +190,10 @@
"command_line_instructions": "Befehlszeilenanweisungen", "command_line_instructions": "Befehlszeilenanweisungen",
"command_1": "Wenn Sie das Passwort für Ihr Administratorkonto verloren haben, können Sie es mit dem folgenden Befehl zurücksetzen.", "command_1": "Wenn Sie das Passwort für Ihr Administratorkonto verloren haben, können Sie es mit dem folgenden Befehl zurücksetzen.",
"command_2": "Melden Sie sich dann im Backend an und setzen Sie das Passwort Ihres Benutzerkontos in der Benutzertabelle zurück." "command_2": "Melden Sie sich dann im Backend an und setzen Sie das Passwort Ihres Benutzerkontos in der Benutzertabelle zurück."
},
"clipboard": {
"copied": "In die Zwischenablage kopiert",
"title": "Text kopieren",
"des": "Automatisches Kopieren erfordert einen sicheren Kontext."
} }
} }

View File

@@ -3,6 +3,7 @@
"filter": "Filter...", "filter": "Filter...",
"copy": "Copy", "copy": "Copy",
"add": "Add", "add": "Add",
"search": "Search",
"system": "System", "system": "System",
"systems": "Systems", "systems": "Systems",
"cancel": "Cancel", "cancel": "Cancel",
@@ -10,7 +11,7 @@
"home": { "home": {
"active_alerts": "Active Alerts", "active_alerts": "Active Alerts",
"active_des": "Exceeds {{value}}{{unit}} average in last {{minutes}} minutes", "active_des": "Exceeds {{value}}{{unit}} average in last {{minutes}} minutes",
"subtitle_1": "Updated in real time. Click on a system to view information." "subtitle": "Updated in real time. Click on a system to view information."
}, },
"systems_table": { "systems_table": {
"system": "System", "system": "System",
@@ -189,5 +190,10 @@
"command_line_instructions": "Command line instructions", "command_line_instructions": "Command line instructions",
"command_1": "If you've lost the password to your admin account, you may reset it using the following command.", "command_1": "If you've lost the password to your admin account, you may reset it using the following command.",
"command_2": "Then log into the backend and reset your user account password in the users table." "command_2": "Then log into the backend and reset your user account password in the users table."
},
"clipboard": {
"copied": "Copied to clipboard",
"title": "Copy text",
"des": "Automatic copy requires a secure context."
} }
} }

View File

@@ -3,6 +3,7 @@
"filter": "Filtrar...", "filter": "Filtrar...",
"copy": "Copiar", "copy": "Copiar",
"add": "Agregar", "add": "Agregar",
"search": "Buscar",
"system": "Sistema", "system": "Sistema",
"systems": "Sistemas", "systems": "Sistemas",
"cancel": "Cancelar", "cancel": "Cancelar",
@@ -10,8 +11,7 @@
"home": { "home": {
"active_alerts": "Alertas activas", "active_alerts": "Alertas activas",
"active_des": "Excede el promedio de {{value}}{{unit}} en los últimos {{minutes}} minutos", "active_des": "Excede el promedio de {{value}}{{unit}} en los últimos {{minutes}} minutos",
"subtitle_1": "Actualizado en tiempo real. Presione", "subtitle": "Actualizado en tiempo real. Haga clic en un sistema para ver información."
"subtitle_2": "para abrir la paleta de comandos."
}, },
"systems_table": { "systems_table": {
"system": "Sistema", "system": "Sistema",
@@ -190,5 +190,10 @@
"command_line_instructions": "Instrucciones de línea de comandos", "command_line_instructions": "Instrucciones de línea de comandos",
"command_1": "Si ha perdido la contraseña de su cuenta de administrador, puede restablecerla usando el siguiente comando.", "command_1": "Si ha perdido la contraseña de su cuenta de administrador, puede restablecerla usando el siguiente comando.",
"command_2": "Luego inicie sesión en el backend y restablezca la contraseña de su cuenta de usuario en la tabla de usuarios." "command_2": "Luego inicie sesión en el backend y restablezca la contraseña de su cuenta de usuario en la tabla de usuarios."
},
"clipboard": {
"copied": "Copiado al portapapeles",
"title": "Copiar texto",
"des": "La copia automática requiere un contexto seguro."
} }
} }

View File

@@ -3,6 +3,7 @@
"filter": "Filtrer...", "filter": "Filtrer...",
"copy": "Copier", "copy": "Copier",
"add": "Ajouter", "add": "Ajouter",
"search": "Rechercher",
"system": "Système", "system": "Système",
"systems": "Systèmes", "systems": "Systèmes",
"cancel": "Annuler", "cancel": "Annuler",
@@ -10,6 +11,7 @@
"home": { "home": {
"active_alerts": "Alertes actives", "active_alerts": "Alertes actives",
"active_des": "Dépasse {{value}}{{unit}} en moyenne au cours des {{minutes}} dernières minutes", "active_des": "Dépasse {{value}}{{unit}} en moyenne au cours des {{minutes}} dernières minutes",
"subtitle": "Mis à jour en temps réel. Cliquez sur un système pour voir les informations.",
"subtitle_1": "Mis à jour en temps réel. Appuyez sur", "subtitle_1": "Mis à jour en temps réel. Appuyez sur",
"subtitle_2": "pour ouvrir la palette de commandes." "subtitle_2": "pour ouvrir la palette de commandes."
}, },
@@ -190,5 +192,10 @@
"command_line_instructions": "Instructions en ligne de commande", "command_line_instructions": "Instructions en ligne de commande",
"command_1": "Si vous avez perdu le mot de passe de votre compte administrateur, vous pouvez le réinitialiser en utilisant la commande suivante.", "command_1": "Si vous avez perdu le mot de passe de votre compte administrateur, vous pouvez le réinitialiser en utilisant la commande suivante.",
"command_2": "Ensuite, connectez-vous au backend et réinitialisez le mot de passe de votre compte utilisateur dans la table des utilisateurs." "command_2": "Ensuite, connectez-vous au backend et réinitialisez le mot de passe de votre compte utilisateur dans la table des utilisateurs."
},
"clipboard": {
"copied": "Copié dans le presse-papiers",
"title": "Copier le texte",
"des": "La copie automatique nécessite un contexte sécurisé."
} }
} }

View File

@@ -3,6 +3,7 @@
"filter": "フィルター...", "filter": "フィルター...",
"copy": "コピー", "copy": "コピー",
"add": "追加", "add": "追加",
"search": "検索",
"system": "システム", "system": "システム",
"systems": "システム一覧", "systems": "システム一覧",
"cancel": "キャンセル", "cancel": "キャンセル",
@@ -10,7 +11,7 @@
"home": { "home": {
"active_alerts": "アクティブなアラート", "active_alerts": "アクティブなアラート",
"active_des": "過去{{minutes}}分間の平均が{{value}}{{unit}}を超過", "active_des": "過去{{minutes}}分間の平均が{{value}}{{unit}}を超過",
"subtitle_1": "リアルタイムで更新されます。システムをクリックして詳細を表示。" "subtitle": "リアルタイムで更新されます。システムをクリックして情報を表示します。"
}, },
"systems_table": { "systems_table": {
"system": "システム", "system": "システム",
@@ -165,7 +166,7 @@
"bandwidth": "帯域幅", "bandwidth": "帯域幅",
"bandwidth_des": "パブリックインターフェースのネットワークトラフィック", "bandwidth_des": "パブリックインターフェースのネットワークトラフィック",
"docker_network_io": "Dockerネットワークl/O", "docker_network_io": "Dockerネットワークl/O",
"docker_network_io_des": "Dockerコンテナのネットワークトラフ<EFBFBD><EFBFBD>ック", "docker_network_io_des": "Dockerコンテナのネットワークトラフック",
"swap_usage": "スワップ使用率", "swap_usage": "スワップ使用率",
"swap_des": "システムが使用するスワップ領域", "swap_des": "システムが使用するスワップ領域",
"temperature": "温度", "temperature": "温度",
@@ -173,5 +174,10 @@
"usage": "使用率", "usage": "使用率",
"disk_usage_of": "のディスク使用率", "disk_usage_of": "のディスク使用率",
"throughput_of": "のスループット" "throughput_of": "のスループット"
},
"clipboard": {
"copied": "クリップボードにコピーしました",
"title": "テキストをコピー",
"des": "自動コピーには安全なコンテキストが必要です。"
} }
} }

View File

@@ -3,6 +3,7 @@
"filter": "Фильтр...", "filter": "Фильтр...",
"copy": "Копировать", "copy": "Копировать",
"add": "Добавить", "add": "Добавить",
"search": "Поиск",
"system": "Система", "system": "Система",
"systems": "Системы", "systems": "Системы",
"cancel": "Отмена", "cancel": "Отмена",
@@ -10,8 +11,7 @@
"home": { "home": {
"active_alerts": "Активные предупреждения", "active_alerts": "Активные предупреждения",
"active_des": "Превышает {{value}}{{unit}} в среднем за последние {{minutes}} минут", "active_des": "Превышает {{value}}{{unit}} в среднем за последние {{minutes}} минут",
"subtitle_1": "Обновляется в реальном времени. Нажмите", "subtitle": "Обновляется в реальном времени. Нажмите на систему для просмотра информации."
"subtitle_2": "чтобы открыть палитру команд."
}, },
"systems_table": { "systems_table": {
"system": "Система", "system": "Система",
@@ -190,5 +190,10 @@
"command_line_instructions": "Инструкции по командной строке", "command_line_instructions": "Инструкции по командной строке",
"command_1": "Если вы потеряли пароль от своей учетной записи администратора, вы можете сбросить его, используя следующую команду.", "command_1": "Если вы потеряли пароль от своей учетной записи администратора, вы можете сбросить его, используя следующую команду.",
"command_2": "Затем войдите в бэкэнд и сбросьте пароль своей учетной записи пользователя в таблице пользователей." "command_2": "Затем войдите в бэкэнд и сбросьте пароль своей учетной записи пользователя в таблице пользователей."
},
"clipboard": {
"copied": "Скопировано в буфер обмена",
"title": "Копировать текст",
"des": "Автоматическое копирование требует безопасного контекста."
} }
} }

View File

@@ -3,6 +3,7 @@
"filter": "Lọc...", "filter": "Lọc...",
"copy": "Sao chép", "copy": "Sao chép",
"add": "Thêm", "add": "Thêm",
"search": "Tìm kiếm",
"system": "Hệ thống", "system": "Hệ thống",
"systems": "Các hệ thống", "systems": "Các hệ thống",
"cancel": "Hủy", "cancel": "Hủy",
@@ -10,7 +11,7 @@
"home": { "home": {
"active_alerts": "Cảnh báo đang hoạt động", "active_alerts": "Cảnh báo đang hoạt động",
"active_des": "Vượt quá {{value}}{{unit}} trung bình trong {{minutes}} phút cuối", "active_des": "Vượt quá {{value}}{{unit}} trung bình trong {{minutes}} phút cuối",
"subtitle_1": "Cập nhật theo thời gian thực. Nhấp vào hệ thống để xem thông tin." "subtitle": "Cập nhật theo thời gian thực. Nhấp vào hệ thống để xem thông tin."
}, },
"systems_table": { "systems_table": {
"system": "Hệ thống", "system": "Hệ thống",
@@ -43,7 +44,7 @@
"memory_usage": "Sử dụng bộ nhớ", "memory_usage": "Sử dụng bộ nhớ",
"memory_usage_des": "Kích hoạt khi mức sử dụng bộ nhớ vượt quá ngưỡng.", "memory_usage_des": "Kích hoạt khi mức sử dụng bộ nhớ vượt quá ngưỡng.",
"disk_usage": "Sử dụng ổ đĩa", "disk_usage": "Sử dụng ổ đĩa",
"disk_usage_des": "Kích hoạt khi mc sử dụng của bất kỳ ổ đĩa nào vượt quá ngưỡng.", "disk_usage_des": "Kích hoạt khi m<EFBFBD><EFBFBD>c sử dụng của bất kỳ ổ đĩa nào vượt quá ngưỡng.",
"bandwidth": "Băng thông", "bandwidth": "Băng thông",
"bandwidth_des": "Kích hoạt khi tổng lưu lượng up/down vượt quá ngưỡng.", "bandwidth_des": "Kích hoạt khi tổng lưu lượng up/down vượt quá ngưỡng.",
"temperature": "Nhiệt độ", "temperature": "Nhiệt độ",
@@ -173,5 +174,10 @@
"usage": "Sử dụng", "usage": "Sử dụng",
"disk_usage_of": "Mức sử dụng ổ đĩa của", "disk_usage_of": "Mức sử dụng ổ đĩa của",
"throughput_of": "Thông lượng của" "throughput_of": "Thông lượng của"
},
"clipboard": {
"copied": "Đã sao chép vào clipboard",
"title": "Sao chép văn bản",
"des": "Sao chép tự động yêu cầu ngữ cảnh bảo mật."
} }
} }

View File

@@ -3,6 +3,7 @@
"filter": "筛选...", "filter": "筛选...",
"copy": "复制", "copy": "复制",
"add": "添加", "add": "添加",
"search": "搜索",
"system": "服务器", "system": "服务器",
"systems": "服务器", "systems": "服务器",
"cancel": "取消", "cancel": "取消",
@@ -10,8 +11,7 @@
"home": { "home": {
"active_alerts": "活动警报", "active_alerts": "活动警报",
"active_des": "在过去 {{minutes}} 分钟内超过 {{value}}{{unit}} 平均值", "active_des": "在过去 {{minutes}} 分钟内超过 {{value}}{{unit}} 平均值",
"subtitle_1": "实时更新。按", "subtitle": "实时更新。点击系统以查看信息。"
"subtitle_2": "打开命令面板。"
}, },
"systems_table": { "systems_table": {
"system": "服务器", "system": "服务器",
@@ -190,5 +190,10 @@
"command_line_instructions": "了解命令行指令", "command_line_instructions": "了解命令行指令",
"command_1": "如果您忘记了管理员账户的密码,可以使用以下命令重置。", "command_1": "如果您忘记了管理员账户的密码,可以使用以下命令重置。",
"command_2": "然后登录到后台,在用户表中重置您的用户账户密码。" "command_2": "然后登录到后台,在用户表中重置您的用户账户密码。"
},
"clipboard": {
"copied": "已复制到剪贴板",
"title": "复制文本",
"des": "自动复制需要安全上下文。"
} }
} }

View File

@@ -3,6 +3,7 @@
"filter": "篩選...", "filter": "篩選...",
"copy": "複製", "copy": "複製",
"add": "新增", "add": "新增",
"search": "搜尋",
"system": "伺服器", "system": "伺服器",
"systems": "伺服器", "systems": "伺服器",
"cancel": "取消", "cancel": "取消",
@@ -10,8 +11,7 @@
"home": { "home": {
"active_alerts": "活動警報", "active_alerts": "活動警報",
"active_des": "在過去 {{minutes}} 分鐘內超過 {{value}}{{unit}} 平均值", "active_des": "在過去 {{minutes}} 分鐘內超過 {{value}}{{unit}} 平均值",
"subtitle_1": "即時更新。按", "subtitle": "即時更新。點擊系統以查看資訊。"
"subtitle_2": "打開指令面板。"
}, },
"systems_table": { "systems_table": {
"system": "伺服器", "system": "伺服器",
@@ -190,5 +190,10 @@
"command_line_instructions": "了解命令行指令", "command_line_instructions": "了解命令行指令",
"command_1": "如果您忘記了管理員賬戶的密碼,可以使用以下命令重置。", "command_1": "如果您忘記了管理員賬戶的密碼,可以使用以下命令重置。",
"command_2": "然後登入到後台,在用戶表中重置您的用戶賬戶密碼。" "command_2": "然後登入到後台,在用戶表中重置您的用戶賬戶密碼。"
},
"clipboard": {
"copied": "已複製到剪貼簿",
"title": "複製文字",
"des": "自動複製需要安全上下文。"
} }
} }