diff --git a/internal/handlers/routes.go b/internal/handlers/routes.go
index 1460b208..640dff20 100644
--- a/internal/handlers/routes.go
+++ b/internal/handlers/routes.go
@@ -474,7 +474,6 @@ func RegisterRoutes(r *gin.Engine,
utilities.GET("/downloads", utilitiesHandlers.ListDownloads(utilitiesService))
utilities.GET("/downloads/paths", utilitiesHandlers.GetDownloadPaths())
utilities.GET("/downloads/utype", utilitiesHandlers.ListDownloadsByUType(utilitiesService))
- utilities.GET("/downloads/:uuid", utilitiesHandlers.DownloadFileFromSignedURL(utilitiesService))
utilities.DELETE("/downloads/:id", utilitiesHandlers.DeleteDownload(utilitiesService))
utilities.POST("/downloads/bulk-delete", utilitiesHandlers.BulkDeleteDownload(utilitiesService))
utilities.POST("/downloads/signed-url", utilitiesHandlers.GetSignedDownloadURL(utilitiesService))
@@ -485,6 +484,8 @@ func RegisterRoutes(r *gin.Engine,
utilities.DELETE("/cloud-init/templates/:id", utilitiesHandlers.DeleteCloudInitTemplate(utilitiesService))
}
+ api.GET("/utilities/downloads/:uuid", utilitiesHandlers.DownloadFileFromSignedURL(utilitiesService))
+
auth := api.Group("/auth")
auth.Use(middleware.EnsureAuthenticated(authService))
auth.Use(middleware.RequestLoggerMiddleware(telemetryDB, authService))
diff --git a/internal/services/utilities/downloads.go b/internal/services/utilities/downloads.go
index 5ea89a0d..8758cf3d 100644
--- a/internal/services/utilities/downloads.go
+++ b/internal/services/utilities/downloads.go
@@ -738,7 +738,7 @@ func (s *Service) syncTorrent(download *utilitiesModels.Downloads) {
if isFinished {
download.Status = utilitiesModels.DownloadStatusDone
download.Progress = 100
- if err := s.BTTClient.RemoveTorrent(download.UUID, false); err != nil {
+ if err := s.BTTClient.RemoveTorrent(download.UUID, true); err != nil {
logger.L.Error().Err(err).Msgf("Failed to remove completed torrent %s", download.UUID)
return
}
diff --git a/web/src/locales/en.po b/web/src/locales/en.po
index 4556129a..c8cf2849 100644
--- a/web/src/locales/en.po
+++ b/web/src/locales/en.po
@@ -7521,10 +7521,8 @@ msgstr "Network detached"
msgid "VM must be shut off to attach storage"
msgstr "VM must be shut off to attach storage"
-#. 0: properties.detach.name; 1: vm.current.name
#. 0: properties.detach.name; 1: vm.current.name
#: src/routes/[node]/vm/[node]/storage/+page.svelte
-#: src/routes/[node]/vm/[rid]/storage/+page.svelte
msgid "This will detach the storage {0} from the VM {1}"
msgstr "This will detach the storage {0} from the VM {1}"
@@ -13119,3 +13117,8 @@ msgstr "Time Machine Max Size (GB)"
#: src/lib/components/custom/Samba/Share.svelte
msgid "Set to 0 for unlimited size"
msgstr "Set to 0 for unlimited size"
+
+#. 0: properties.detach.name; 1: vm.current.name
+#: src/routes/[node]/vm/[rid]/storage/+page.svelte
+msgid "This will detach the storage {0} from the VM {1}. The underlying disk dataset/file will NOT be deleted."
+msgstr "This will detach the storage {0} from the VM {1}. The underlying disk dataset/file will NOT be deleted."
diff --git a/web/src/locales/hi.po b/web/src/locales/hi.po
index 9f3697dc..042bca06 100644
--- a/web/src/locales/hi.po
+++ b/web/src/locales/hi.po
@@ -7521,10 +7521,8 @@ msgstr "नेटवर्क अलग कर दिया गया"
msgid "VM must be shut off to attach storage"
msgstr "स्टोरेज जोड़ने के लिए VM बंद होना चाहिए"
-#. 0: properties.detach.name; 1: vm.current.name
#. 0: properties.detach.name; 1: vm.current.name
#: src/routes/[node]/vm/[node]/storage/+page.svelte
-#: src/routes/[node]/vm/[rid]/storage/+page.svelte
msgid "This will detach the storage {0} from the VM {1}"
msgstr "यह VM {1} से स्टोरेज {0} को अलग कर देगा"
@@ -13119,3 +13117,8 @@ msgstr ""
#: src/lib/components/custom/Samba/Share.svelte
msgid "Set to 0 for unlimited size"
msgstr ""
+
+#. 0: properties.detach.name; 1: vm.current.name
+#: src/routes/[node]/vm/[rid]/storage/+page.svelte
+msgid "This will detach the storage {0} from the VM {1}. The underlying disk dataset/file will NOT be deleted."
+msgstr ""
diff --git a/web/src/locales/mal.po b/web/src/locales/mal.po
index 4e36db46..9877c396 100644
--- a/web/src/locales/mal.po
+++ b/web/src/locales/mal.po
@@ -7521,10 +7521,8 @@ msgstr "നെറ്റ്വർക്ക് വേർപെടുത്ത
msgid "VM must be shut off to attach storage"
msgstr "സ്റ്റോറേജ് ചേർക്കുന്നതിന് VM ഷട്ട് ഓഫ് ചെയ്തിരിക്കണം"
-#. 0: properties.detach.name; 1: vm.current.name
#. 0: properties.detach.name; 1: vm.current.name
#: src/routes/[node]/vm/[node]/storage/+page.svelte
-#: src/routes/[node]/vm/[rid]/storage/+page.svelte
msgid "This will detach the storage {0} from the VM {1}"
msgstr "ഇത് VM {1}-ൽ നിന്ന് സ്റ്റോറേജ് {0} വേർപെടുത്തും"
@@ -13119,3 +13117,8 @@ msgstr ""
#: src/lib/components/custom/Samba/Share.svelte
msgid "Set to 0 for unlimited size"
msgstr ""
+
+#. 0: properties.detach.name; 1: vm.current.name
+#: src/routes/[node]/vm/[rid]/storage/+page.svelte
+msgid "This will detach the storage {0} from the VM {1}. The underlying disk dataset/file will NOT be deleted."
+msgstr ""
diff --git a/web/src/locales/zh-CN.po b/web/src/locales/zh-CN.po
index bbb176f6..a3e3edcb 100644
--- a/web/src/locales/zh-CN.po
+++ b/web/src/locales/zh-CN.po
@@ -1,26 +1,24 @@
msgid ""
msgstr ""
-"Project-Id-Version: Sylve\n"
-"POT-Creation-Date: \n"
-"PO-Revision-Date: \n"
-"Last-Translator: ykla \n"
-"Language-Team: ykla \n"
-"Language: zh_CN\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
+"Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;\n"
"Source-Language: en\n"
-"X-Generator: Poedit 3.9\n"
+"Language: zh-CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
#: src/routes/+error.svelte
msgid "Not Found"
msgstr "未找到"
-#: src/routes/[node]/+layout.svelte src/routes/datacenter/+layout.svelte
+#: src/routes/[node]/+layout.svelte
+#: src/routes/[node]/+layout.svelte
+#: src/routes/[node]/+layout.svelte
+#: src/routes/datacenter/+layout.svelte
msgid "Summary"
msgstr "概览"
+#: src/routes/[node]/+layout.svelte
#: src/routes/[node]/+layout.svelte
msgid "Console"
msgstr "控制台"
@@ -30,40 +28,56 @@ msgstr "控制台"
#: src/lib/components/custom/VM/Create/CreateVM.svelte
#: src/lib/components/custom/VM/Template/View.svelte
#: src/routes/[node]/+layout.svelte
+#: src/routes/[node]/+layout.svelte
msgid "Storage"
msgstr "存储"
#: src/lib/components/custom/Jail/Create/CreateJail.svelte
#: src/lib/components/custom/VM/Create/CreateVM.svelte
#: src/routes/[node]/+layout.svelte
+#: src/routes/[node]/+layout.svelte
msgid "Hardware"
msgstr "硬件"
#: src/lib/components/custom/Jail/Create/CreateJail.svelte
#: src/lib/components/custom/Jail/Create/Network.svelte
+#: src/lib/components/custom/Jail/Create/Network.svelte
#: src/lib/components/custom/Jail/Template/View.svelte
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Routes/Form.svelte
+#: src/lib/components/custom/Network/Routes/Form.svelte
#: src/lib/components/custom/VM/Create/CreateVM.svelte
#: src/lib/components/custom/VM/Hardware/Network.svelte
#: src/lib/components/custom/VM/Summary/GuestAgent.svelte
#: src/lib/components/custom/VM/Template/View.svelte
#: src/routes/[node]/+layout.svelte
+#: src/routes/[node]/+layout.svelte
+#: src/routes/[node]/+layout.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Network"
msgstr "网络"
+#: src/routes/[node]/+layout.svelte
+#: src/routes/[node]/+layout.svelte
#: src/routes/[node]/+layout.svelte
msgid "Snapshots"
msgstr "快照"
#: src/lib/components/custom/ZFS/pools/Create.svelte
#: src/routes/[node]/+layout.svelte
+#: src/routes/[node]/+layout.svelte
msgid "Options"
msgstr "选项"
@@ -87,6 +101,9 @@ msgstr "对象"
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/routes/[node]/+layout.svelte
#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
#: src/routes/[node]/storage/samba/settings/+page.svelte
msgid "Interfaces"
msgstr "接口"
@@ -94,11 +111,13 @@ msgstr "接口"
#: src/lib/components/custom/Network/DHCP/Config.svelte
#: src/routes/[node]/+layout.svelte
#: src/routes/[node]/network/dhcp/config/+page.svelte
+#: src/routes/[node]/network/dhcp/config/+page.svelte
msgid "Switches"
msgstr "交换机"
#: src/lib/components/custom/Jail/Create/Network.svelte
#: src/lib/components/custom/Jail/Create/Storage.svelte
+#: src/lib/components/custom/Jail/Create/Storage.svelte
#: src/routes/[node]/+layout.svelte
msgid "Manual"
msgstr "手动"
@@ -151,6 +170,7 @@ msgstr "Samba"
msgid "Shares"
msgstr "共享"
+#: src/routes/[node]/+layout.svelte
#: src/routes/[node]/+layout.svelte
msgid "Settings"
msgstr "设置"
@@ -203,15 +223,18 @@ msgstr "节点 — <0/>"
msgid "Discord"
msgstr "Discord"
-#: src/routes/[node]/+layout.svelte src/routes/datacenter/+layout.svelte
+#: src/routes/[node]/+layout.svelte
+#: src/routes/datacenter/+layout.svelte
msgid "Help"
msgstr "帮助"
-#: src/routes/[node]/+layout.svelte src/routes/datacenter/+layout.svelte
+#: src/routes/[node]/+layout.svelte
+#: src/routes/datacenter/+layout.svelte
msgid "Sponsor"
msgstr "赞助"
-#: src/routes/[node]/+layout.svelte src/routes/datacenter/+layout.svelte
+#: src/routes/[node]/+layout.svelte
+#: src/routes/datacenter/+layout.svelte
msgid "Difuse-sidebar"
msgstr "Difuse-sidebar"
@@ -226,7 +249,10 @@ msgstr "集群"
msgid "Backups"
msgstr "备份"
-#: src/routes/[node]/+layout.svelte src/routes/datacenter/+layout.svelte
+#: src/routes/[node]/+layout.svelte
+#: src/routes/datacenter/+layout.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Targets"
msgstr "目标"
@@ -235,12 +261,14 @@ msgstr "目标"
msgid "Jobs"
msgstr "任务"
+#: src/routes/datacenter/+layout.svelte
#: src/routes/datacenter/+layout.svelte
msgid "Events"
msgstr "事件"
#: src/lib/components/custom/About.svelte
#: src/lib/components/custom/DataCenter/Replication/Activity.svelte
+#: src/lib/components/custom/DataCenter/Replication/Activity.svelte
#: src/routes/datacenter/+layout.svelte
msgid "Replication"
msgstr "复制"
@@ -255,10 +283,8 @@ msgid "Data Center"
msgstr "数据中心"
#: src/routes/inactive-node/+page.svelte
-msgid ""
-"This node can’t be reached right now. Check the network connection and "
-"confirm the node is powered on."
-msgstr "当前无法访问此节点。请检查网络连接并确认节点已开机。"
+msgid "This node can’t be reached right now. Check the network connection and confirm the node is powered on."
+msgstr "目前无法连接到此节点。请检查网络连接并确认节点已开启电源。"
#: src/routes/swagger/+page.svelte
msgid "Swagger"
@@ -266,6 +292,7 @@ msgstr "Swagger"
#: src/lib/components/custom/Login.svelte
#: src/lib/components/skeleton/BottomPanel.svelte
+#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Login"
msgstr "登录"
@@ -300,6 +327,7 @@ msgstr "ZFS 文件系统"
#: src/lib/components/custom/VM/Create/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "ZFS Volume"
msgstr "ZFS 卷"
@@ -366,7 +394,7 @@ msgstr "虚拟机存储 - 分离"
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "VM Storage - Attach"
-msgstr "虚拟机存储 - 附加"
+msgstr "虚拟机存储 - 连接"
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "VM Network - Detach"
@@ -374,7 +402,7 @@ msgstr "虚拟机网络 - 分离"
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "VM Network - Attach"
-msgstr "虚拟机网络 - 附加"
+msgstr "虚拟机网络 - 连接"
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Manual Switch"
@@ -405,10 +433,12 @@ msgstr "Jail 网络"
msgid "Jail - Update Description"
msgstr "Jail - 更新描述"
+#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
#: src/lib/components/custom/DataCenter/Backups/Jobs/OOBRestore.svelte
#: src/lib/components/custom/DataCenter/Backups/Jobs/Restore.svelte
#: src/lib/components/custom/Jail/Template/Create.svelte
+#: src/lib/components/custom/Jail/Template/Create.svelte
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Jail"
msgstr "Jail"
@@ -476,6 +506,7 @@ msgstr "登录 - 创建"
#: src/lib/components/custom/DataCenter/Replication/Activity.svelte
#: src/lib/components/skeleton/BottomPanel.svelte
#: src/routes/datacenter/backups/events/+page.svelte
+#: src/routes/datacenter/backups/events/+page.svelte
#: src/routes/datacenter/replication/events/+page.svelte
msgid "Started"
msgstr "已启动"
@@ -487,6 +518,7 @@ msgstr "错误请求"
#: src/lib/components/skeleton/BottomPanel.svelte
#: src/routes/datacenter/backups/events/+page.svelte
#: src/routes/datacenter/replication/events/+page.svelte
+#: src/routes/datacenter/replication/events/+page.svelte
msgid "Error"
msgstr "错误"
@@ -501,6 +533,7 @@ msgstr "结束时间"
#: src/lib/components/custom/Jail/Create/Basic.svelte
#: src/lib/components/custom/VM/Create/Basic.svelte
#: src/lib/components/skeleton/BottomPanel.svelte
+#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Node"
msgstr "节点"
@@ -516,6 +549,7 @@ msgstr "用户"
#: src/lib/components/skeleton/BottomPanel.svelte
#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/logs/+page.svelte
+#: src/routes/[node]/network/firewall/logs/+page.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
#: src/routes/[node]/storage/samba/audit-logs/+page.svelte
msgid "Action"
@@ -531,11 +565,15 @@ msgstr "操作"
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
#: src/routes/datacenter/backups/events/+page.svelte
+#: src/routes/datacenter/backups/events/+page.svelte
#: src/routes/datacenter/backups/jobs/+page.svelte
#: src/routes/datacenter/backups/targets/+page.svelte
#: src/routes/datacenter/replication/events/+page.svelte
+#: src/routes/datacenter/replication/events/+page.svelte
+#: src/routes/datacenter/replication/events/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/summary/+page.svelte
+#: src/routes/datacenter/summary/+page.svelte
msgid "Status"
msgstr "状态"
@@ -553,8 +591,12 @@ msgstr "已将响应复制到剪贴板"
#: src/lib/components/custom/ZFS/datasets/volumes/Create.svelte
#: src/lib/components/custom/ZFS/datasets/volumes/Edit.svelte
#: src/lib/components/skeleton/TreeViewCluster.svelte
+#: src/lib/components/skeleton/TreeViewCluster.svelte
+#: src/lib/components/skeleton/TreeViewCluster.svelte
+#: src/lib/components/skeleton/TreeViewCluster.svelte
#: src/lib/components/ui/custom-input/combobox-bindable.svelte
#: src/lib/components/ui/custom-input/combobox.svelte
+#: src/lib/components/ui/custom-input/combobox.svelte
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "Enter"
@@ -574,17 +616,28 @@ msgstr "IPTechnics"
#: src/lib/components/custom/About.svelte
#: src/lib/components/custom/Header.svelte
+#: src/lib/components/custom/Header.svelte
+#: src/lib/components/custom/Header.svelte
+#: src/lib/components/custom/Header.svelte
+#: src/lib/components/custom/Header.svelte
+#: src/lib/components/custom/Header.svelte
+#: src/lib/components/custom/Initialization/Initialize.svelte
#: src/lib/components/custom/Initialization/Initialize.svelte
#: src/lib/components/custom/Initialization/Reboot.svelte
#: src/lib/components/custom/Login.svelte
+#: src/lib/components/custom/Login.svelte
msgid "Sylve Logo"
msgstr "Sylve 标志"
#: src/lib/components/custom/About.svelte
#: src/lib/components/custom/Login.svelte
+#: src/lib/components/custom/Login.svelte
msgid "Sylve"
msgstr "Sylve"
+#~ msgid "Sylve is a lightweight control plane for the <0>FreeBSD ecosystem0>, unifying Bhyve, Jails, ZFS, PF, and more into a streamlined management interface. Powered by a high-performance Go backend and a responsive SvelteKit frontend, it makes complex infrastructure simple."
+#~ msgstr "Sylve 是一个用于 <0>FreeBSD 生态系统0> 的轻量级控制平面,将 Bhyve、Jails、ZFS、PF 等整合进一个精简的管理界面。它由高性能的 Go 后端和响应迅速的 SvelteKit 前端驱动,让复杂的基础设施变得简单。"
+
#: src/lib/components/custom/About.svelte
msgid "Sponsors"
msgstr "赞助商"
@@ -613,20 +666,28 @@ msgstr "颜色主题"
msgid "Toggle navigation menu"
msgstr "切换导航菜单"
+#~ msgid "Virtual Environment 0.0.1"
+#~ msgstr "虚拟环境 0.0.1"
+
+#: src/lib/components/custom/Header.svelte
#: src/lib/components/custom/Header.svelte
msgid "Create VM"
msgstr "创建虚拟机"
+#: src/lib/components/custom/Header.svelte
#: src/lib/components/custom/Header.svelte
msgid "VM creation form minimized"
msgstr "虚拟机创建表单已最小化"
#: src/lib/components/custom/Header.svelte
+#: src/lib/components/custom/Header.svelte
+#: src/lib/components/custom/Jail/Create/CreateJail.svelte
#: src/lib/components/custom/Jail/Create/CreateJail.svelte
#: src/lib/components/custom/Jail/CreateFromTemplate.svelte
msgid "Create Jail"
msgstr "创建 Jail"
+#: src/lib/components/custom/Header.svelte
#: src/lib/components/custom/Header.svelte
msgid "Jail creation form minimized"
msgstr "Jail 创建表单已最小化"
@@ -641,7 +702,7 @@ msgstr "<0/> 语言"
#: src/lib/components/custom/Header.svelte
msgid "Log Out"
-msgstr "注销"
+msgstr "退出登录"
#. 0: Object.keys(value).length
#: src/lib/components/custom/KVTableModal.svelte
@@ -667,6 +728,7 @@ msgstr "密码"
msgid "Realm"
msgstr "域"
+#: src/lib/components/custom/Login.svelte
#: src/lib/components/custom/Login.svelte
msgid "PAM"
msgstr "PAM"
@@ -678,16 +740,18 @@ msgstr "记住我"
#: src/lib/components/custom/Dialog/SingleValue.svelte
#: src/lib/components/custom/SimpleSelect.svelte
msgid "Select an option"
-msgstr "选择选项"
+msgstr "选择一个选项"
#: src/lib/components/custom/TreeTable.svelte
+#: src/lib/components/custom/TreeTable.svelte
+#: src/lib/components/custom/TreeTableRemote.svelte
#: src/lib/components/custom/TreeTableRemote.svelte
msgid "No data available"
msgstr "暂无数据"
#: src/lib/utils/zfs/pool.svelte.ts
msgid "Pool contains a mirror with devices of different sizes"
-msgstr "存储池包含一个设备大小不同的镜像组"
+msgstr "存储池包含一个包含不同容量设备的镜像"
#: src/lib/utils/zfs/pool.svelte.ts
msgid "Pool contains a RAIDZ vdev with devices of different sizes"
@@ -699,7 +763,7 @@ msgstr "存储池繁忙"
#: src/lib/utils/zfs/pool.svelte.ts
msgid "Pool is in use by a VM or Jail"
-msgstr "存储池已被虚拟机或 Jail 占用"
+msgstr "存储池正在被虚拟机或 Jail 使用"
#: src/lib/utils/zfs/pool.svelte.ts
msgid "Cannot replace with smaller device"
@@ -712,30 +776,34 @@ msgstr "存储池编辑失败"
#: src/routes/[node]/notes/+page.svelte
#: src/routes/datacenter/notes/+page.svelte
msgid "Note updated"
-msgstr "备注已更新"
+msgstr "笔记已更新"
#: src/routes/[node]/notes/+page.svelte
#: src/routes/datacenter/notes/+page.svelte
msgid "Failed to update note"
-msgstr "备注更新失败"
+msgstr "更新笔记失败"
#: src/routes/[node]/notes/+page.svelte
#: src/routes/datacenter/notes/+page.svelte
msgid "Note created"
-msgstr "备注已创建"
+msgstr "笔记已创建"
#: src/routes/[node]/notes/+page.svelte
#: src/routes/datacenter/notes/+page.svelte
msgid "Failed to create note"
-msgstr "备注创建失败"
+msgstr "创建笔记失败"
+#: src/lib/components/custom/Cluster/Storage/Create.svelte
#: src/lib/components/custom/Cluster/Storage/Create.svelte
#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
#: src/lib/components/custom/DataCenter/Backups/Targets/Form.svelte
#: src/lib/components/custom/Disk/CreatePartition.svelte
#: src/lib/components/custom/FileExplorer/ListView.svelte
#: src/lib/components/custom/Jail/CreateFromTemplate.svelte
+#: src/lib/components/custom/Jail/CreateFromTemplate.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
+#: src/lib/components/custom/Jail/Network/Form.svelte
+#: src/lib/components/custom/Jail/Template/Create.svelte
#: src/lib/components/custom/Jail/Template/Create.svelte
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
@@ -749,6 +817,7 @@ msgstr "备注创建失败"
#: src/lib/components/custom/Samba/Share.svelte
#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Template/Create.svelte
#: src/lib/components/custom/ZFS/datasets/fs/Create.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/Create.svelte
@@ -758,8 +827,11 @@ msgstr "备注创建失败"
#: src/lib/components/custom/ZFS/pools/Create.svelte
#: src/routes/[node]/jail/[ctid]/network/+page.svelte
#: src/routes/[node]/jail/[ctid]/snapshots/+page.svelte
+#: src/routes/[node]/jail/[ctid]/snapshots/+page.svelte
#: src/routes/[node]/jail/[node]/network/+page.svelte
#: src/routes/[node]/jail/[node]/snapshots/+page.svelte
+#: src/routes/[node]/jail/[node]/snapshots/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/nat/+page.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
@@ -768,17 +840,22 @@ msgstr "备注创建失败"
#: src/routes/[node]/network/routes/+page.svelte
#: src/routes/[node]/network/switches/standard/+page.svelte
#: src/routes/[node]/notes/+page.svelte
+#: src/routes/[node]/notes/+page.svelte
+#: src/routes/[node]/settings/authentication/groups/+page.svelte
#: src/routes/[node]/settings/authentication/groups/+page.svelte
#: src/routes/[node]/settings/authentication/users/+page.svelte
#: src/routes/[node]/storage/samba/shares/+page.svelte
#: src/routes/[node]/storage/zfs/datasets/snapshots/+page.svelte
#: src/routes/[node]/vm/[node]/network/+page.svelte
#: src/routes/[node]/vm/[node]/snapshots/+page.svelte
+#: src/routes/[node]/vm/[node]/snapshots/+page.svelte
#: src/routes/[node]/vm/[rid]/network/+page.svelte
#: src/routes/[node]/vm/[rid]/snapshots/+page.svelte
+#: src/routes/[node]/vm/[rid]/snapshots/+page.svelte
#: src/routes/datacenter/backups/jobs/+page.svelte
#: src/routes/datacenter/backups/targets/+page.svelte
#: src/routes/datacenter/notes/+page.svelte
+#: src/routes/datacenter/notes/+page.svelte
msgid "Name"
msgstr "名称"
@@ -804,12 +881,15 @@ msgstr "已更新"
#: src/routes/[node]/network/interfaces/+page.svelte
#: src/routes/[node]/notes/+page.svelte
+#: src/routes/[node]/notes/+page.svelte
+#: src/routes/datacenter/notes/+page.svelte
#: src/routes/datacenter/notes/+page.svelte
msgid "View"
msgstr "查看"
#: src/lib/components/custom/Authentication/Passkeys.svelte
#: src/lib/components/skeleton/TreeViewCluster.svelte
+#: src/lib/components/skeleton/TreeViewCluster.svelte
#: src/routes/[node]/jail/[ctid]/+layout.svelte
#: src/routes/[node]/jail/[ctid]/network/+page.svelte
#: src/routes/[node]/jail/[ctid]/snapshots/+page.svelte
@@ -819,8 +899,10 @@ msgstr "查看"
#: src/routes/[node]/jail/[node]/snapshots/+page.svelte
#: src/routes/[node]/jail/[node]/summary/+page.svelte
#: src/routes/[node]/network/dhcp/leases/+page.svelte
+#: src/routes/[node]/network/dhcp/leases/+page.svelte
#: src/routes/[node]/network/dhcp/ranges/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/nat/+page.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
#: src/routes/[node]/network/objects/+page.svelte
@@ -848,6 +930,7 @@ msgstr "查看"
msgid "Delete"
msgstr "删除"
+#: src/lib/components/custom/Network/DHCP/Lease/CreateOrEdit.svelte
#: src/lib/components/custom/Network/DHCP/Lease/CreateOrEdit.svelte
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
#: src/lib/components/custom/Network/WireGuard/Server/PeerList.svelte
@@ -859,12 +942,14 @@ msgstr "删除"
#: src/routes/[node]/network/dhcp/leases/+page.svelte
#: src/routes/[node]/network/dhcp/ranges/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/nat/+page.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
#: src/routes/[node]/network/objects/+page.svelte
#: src/routes/[node]/network/routes/+page.svelte
#: src/routes/[node]/network/switches/standard/+page.svelte
#: src/routes/[node]/notes/+page.svelte
+#: src/routes/[node]/notes/+page.svelte
#: src/routes/[node]/settings/authentication/users/+page.svelte
#: src/routes/[node]/storage/zfs/datasets/fs/+page.svelte
#: src/routes/[node]/storage/zfs/datasets/volumes/+page.svelte
@@ -877,6 +962,7 @@ msgstr "删除"
#: src/routes/datacenter/backups/jobs/+page.svelte
#: src/routes/datacenter/backups/targets/+page.svelte
#: src/routes/datacenter/notes/+page.svelte
+#: src/routes/datacenter/notes/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Edit"
msgstr "编辑"
@@ -902,6 +988,7 @@ msgstr "批量删除"
#: src/routes/[node]/network/switches/manual/+page.svelte
#: src/routes/[node]/network/switches/standard/+page.svelte
#: src/routes/[node]/notes/+page.svelte
+#: src/routes/[node]/notes/+page.svelte
#: src/routes/[node]/settings/authentication/groups/+page.svelte
#: src/routes/[node]/settings/authentication/users/+page.svelte
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
@@ -922,52 +1009,92 @@ msgstr "批量删除"
#: src/routes/datacenter/backups/jobs/+page.svelte
#: src/routes/datacenter/backups/targets/+page.svelte
#: src/routes/datacenter/notes/+page.svelte
+#: src/routes/datacenter/notes/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "New"
msgstr "新建"
#: src/routes/datacenter/notes/+page.svelte
msgid "Note"
-msgstr "备注"
+msgstr "笔记"
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
+#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
+#: src/lib/components/custom/Cluster/Create.svelte
#: src/lib/components/custom/Cluster/Create.svelte
#: src/lib/components/custom/Cluster/Join.svelte
+#: src/lib/components/custom/Cluster/Join.svelte
+#: src/lib/components/custom/Cluster/Storage/Create.svelte
#: src/lib/components/custom/Cluster/Storage/Create.svelte
#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
+#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
+#: src/lib/components/custom/DataCenter/Backups/Targets/Form.svelte
#: src/lib/components/custom/DataCenter/Backups/Targets/Form.svelte
#: src/lib/components/custom/Disk/CreatePartition.svelte
+#: src/lib/components/custom/Disk/CreatePartition.svelte
+#: src/lib/components/custom/FileExplorer/CreateFileOrFolderModal.svelte
#: src/lib/components/custom/FileExplorer/CreateFileOrFolderModal.svelte
#: src/lib/components/custom/FileExplorer/RenameModal.svelte
+#: src/lib/components/custom/FileExplorer/RenameModal.svelte
+#: src/lib/components/custom/Jail/Create/CreateJail.svelte
#: src/lib/components/custom/Jail/Create/CreateJail.svelte
#: src/lib/components/custom/Jail/Hardware/CPU.svelte
+#: src/lib/components/custom/Jail/Hardware/CPU.svelte
+#: src/lib/components/custom/Jail/Hardware/RAM.svelte
#: src/lib/components/custom/Jail/Hardware/RAM.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
+#: src/lib/components/custom/Jail/Network/Form.svelte
+#: src/lib/components/custom/Jail/Options/AllowedOptions.svelte
#: src/lib/components/custom/Jail/Options/AllowedOptions.svelte
#: src/lib/components/custom/Jail/Options/LifecycleHooks.svelte
+#: src/lib/components/custom/Jail/Options/LifecycleHooks.svelte
+#: src/lib/components/custom/Jail/Options/StartOrder.svelte
#: src/lib/components/custom/Jail/Options/StartOrder.svelte
#: src/lib/components/custom/Jail/Options/TextEdit.svelte
+#: src/lib/components/custom/Jail/Options/TextEdit.svelte
+#: src/lib/components/custom/Jail/Options/WoL.svelte
#: src/lib/components/custom/Jail/Options/WoL.svelte
#: src/lib/components/custom/Jail/Template/Create.svelte
+#: src/lib/components/custom/Jail/Template/Create.svelte
+#: src/lib/components/custom/Network/DHCP/Config.svelte
#: src/lib/components/custom/Network/DHCP/Config.svelte
#: src/lib/components/custom/Network/DHCP/Lease/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/DHCP/Lease/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Switch/Manual/Create.svelte
#: src/lib/components/custom/Network/Switch/Manual/Create.svelte
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
+#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
+#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
#: src/lib/components/custom/Samba/Share.svelte
+#: src/lib/components/custom/Samba/Share.svelte
+#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
#: src/lib/components/custom/Utilities/Downloader/UploadModal.svelte
+#: src/lib/components/custom/Utilities/Downloader/UploadModal.svelte
+#: src/lib/components/custom/VM/Create/CreateVM.svelte
#: src/lib/components/custom/VM/Create/CreateVM.svelte
#: src/lib/components/custom/VM/Hardware/CPU.svelte
+#: src/lib/components/custom/VM/Hardware/CPU.svelte
+#: src/lib/components/custom/VM/Hardware/Network.svelte
#: src/lib/components/custom/VM/Hardware/Network.svelte
#: src/lib/components/custom/VM/Hardware/PCIDevices.svelte
+#: src/lib/components/custom/VM/Hardware/PCIDevices.svelte
#: src/lib/components/custom/VM/Hardware/RAM.svelte
+#: src/lib/components/custom/VM/Hardware/RAM.svelte
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Hardware/VNC.svelte
#: src/lib/components/custom/VM/Hardware/VNC.svelte
@@ -982,126 +1109,251 @@ msgstr "备注"
#: src/lib/components/custom/VM/Options/IgnoreUMSR.svelte
#: src/lib/components/custom/VM/Options/IgnoreUMSR.svelte
#: src/lib/components/custom/VM/Options/QemuGuestAgent.svelte
+#: src/lib/components/custom/VM/Options/QemuGuestAgent.svelte
+#: src/lib/components/custom/VM/Options/ShutdownWaitTime.svelte
#: src/lib/components/custom/VM/Options/ShutdownWaitTime.svelte
#: src/lib/components/custom/VM/Options/StartOrder.svelte
+#: src/lib/components/custom/VM/Options/StartOrder.svelte
+#: src/lib/components/custom/VM/Options/WoL.svelte
#: src/lib/components/custom/VM/Options/WoL.svelte
#: src/lib/components/custom/VM/Template/Create.svelte
+#: src/lib/components/custom/VM/Template/Create.svelte
+#: src/lib/components/custom/ZFS/datasets/fs/Create.svelte
#: src/lib/components/custom/ZFS/datasets/fs/Create.svelte
#: src/lib/components/custom/ZFS/datasets/fs/Edit.svelte
+#: src/lib/components/custom/ZFS/datasets/fs/Edit.svelte
+#: src/lib/components/custom/ZFS/datasets/snapshots/Create.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/Create.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
+#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
+#: src/lib/components/custom/ZFS/datasets/snapshots/Rollback.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/Rollback.svelte
#: src/lib/components/custom/ZFS/datasets/volumes/Create.svelte
+#: src/lib/components/custom/ZFS/datasets/volumes/Create.svelte
+#: src/lib/components/custom/ZFS/datasets/volumes/Edit.svelte
#: src/lib/components/custom/ZFS/datasets/volumes/Edit.svelte
#: src/lib/components/custom/ZFS/datasets/volumes/FlashFile.svelte
+#: src/lib/components/custom/ZFS/datasets/volumes/FlashFile.svelte
+#: src/lib/components/custom/ZFS/pools/Create.svelte
#: src/lib/components/custom/ZFS/pools/Create.svelte
#: src/lib/components/custom/ZFS/pools/Edit.svelte
+#: src/lib/components/custom/ZFS/pools/Edit.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/switches/standard/+page.svelte
+#: src/routes/[node]/network/switches/standard/+page.svelte
+#: src/routes/[node]/notes/+page.svelte
#: src/routes/[node]/notes/+page.svelte
#: src/routes/[node]/settings/authentication/groups/+page.svelte
+#: src/routes/[node]/settings/authentication/groups/+page.svelte
+#: src/routes/[node]/settings/authentication/groups/+page.svelte
+#: src/routes/[node]/settings/authentication/groups/+page.svelte
+#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
#: src/routes/[node]/utilities/downloader/+page.svelte
+#: src/routes/[node]/utilities/downloader/+page.svelte
+#: src/routes/datacenter/notes/+page.svelte
#: src/routes/datacenter/notes/+page.svelte
msgid "Reset"
msgstr "重置"
+#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
#: src/lib/components/custom/Authentication/Passkeys.svelte
#: src/lib/components/custom/Cluster/Create.svelte
+#: src/lib/components/custom/Cluster/Create.svelte
+#: src/lib/components/custom/Cluster/Join.svelte
#: src/lib/components/custom/Cluster/Join.svelte
#: src/lib/components/custom/Cluster/JoinInformation.svelte
+#: src/lib/components/custom/Cluster/JoinInformation.svelte
+#: src/lib/components/custom/Cluster/Storage/Create.svelte
#: src/lib/components/custom/Cluster/Storage/Create.svelte
#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
+#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
+#: src/lib/components/custom/DataCenter/Backups/Jobs/OOBRestore.svelte
#: src/lib/components/custom/DataCenter/Backups/Jobs/OOBRestore.svelte
#: src/lib/components/custom/DataCenter/Backups/Jobs/Restore.svelte
+#: src/lib/components/custom/DataCenter/Backups/Jobs/Restore.svelte
+#: src/lib/components/custom/DataCenter/Backups/Targets/Form.svelte
#: src/lib/components/custom/DataCenter/Backups/Targets/Form.svelte
#: src/lib/components/custom/DataCenter/Replication/Activity.svelte
#: src/lib/components/custom/Dialog/SingleValue.svelte
+#: src/lib/components/custom/Dialog/SingleValue.svelte
+#: src/lib/components/custom/Disk/CreatePartition.svelte
#: src/lib/components/custom/Disk/CreatePartition.svelte
#: src/lib/components/custom/FileExplorer/CreateFileOrFolderModal.svelte
+#: src/lib/components/custom/FileExplorer/CreateFileOrFolderModal.svelte
+#: src/lib/components/custom/FileExplorer/FilepondModal.svelte
#: src/lib/components/custom/FileExplorer/FilepondModal.svelte
#: src/lib/components/custom/FileExplorer/RenameModal.svelte
+#: src/lib/components/custom/FileExplorer/RenameModal.svelte
+#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
#: src/lib/components/custom/Jail/Create/CreateJail.svelte
+#: src/lib/components/custom/Jail/Create/CreateJail.svelte
+#: src/lib/components/custom/Jail/Hardware/CPU.svelte
#: src/lib/components/custom/Jail/Hardware/CPU.svelte
#: src/lib/components/custom/Jail/Hardware/RAM.svelte
+#: src/lib/components/custom/Jail/Hardware/RAM.svelte
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/lib/components/custom/Jail/Network/Inherit.svelte
+#: src/lib/components/custom/Jail/Network/Inherit.svelte
+#: src/lib/components/custom/Jail/Options/AllowedOptions.svelte
#: src/lib/components/custom/Jail/Options/AllowedOptions.svelte
#: src/lib/components/custom/Jail/Options/LifecycleHooks.svelte
+#: src/lib/components/custom/Jail/Options/LifecycleHooks.svelte
+#: src/lib/components/custom/Jail/Options/StartOrder.svelte
#: src/lib/components/custom/Jail/Options/StartOrder.svelte
#: src/lib/components/custom/Jail/Options/TextEdit.svelte
+#: src/lib/components/custom/Jail/Options/TextEdit.svelte
+#: src/lib/components/custom/Jail/Options/WoL.svelte
#: src/lib/components/custom/Jail/Options/WoL.svelte
#: src/lib/components/custom/Jail/Template/Create.svelte
+#: src/lib/components/custom/Jail/Template/Create.svelte
+#: src/lib/components/custom/Jail/Template/View.svelte
+#: src/lib/components/custom/Jail/Template/View.svelte
#: src/lib/components/custom/Jail/Template/View.svelte
#: src/lib/components/custom/Network/DHCP/Config.svelte
+#: src/lib/components/custom/Network/DHCP/Config.svelte
+#: src/lib/components/custom/Network/DHCP/Lease/CreateOrEdit.svelte
#: src/lib/components/custom/Network/DHCP/Lease/CreateOrEdit.svelte
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
+#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
+#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Routes/Form.svelte
#: src/lib/components/custom/Network/Routes/Form.svelte
#: src/lib/components/custom/Network/Switch/Manual/Create.svelte
+#: src/lib/components/custom/Network/Switch/Manual/Create.svelte
+#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
+#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
+#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
#: src/lib/components/custom/Samba/Share.svelte
+#: src/lib/components/custom/Samba/Share.svelte
+#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
+#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
+#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
#: src/lib/components/custom/Utilities/Downloader/UploadModal.svelte
+#: src/lib/components/custom/Utilities/Downloader/UploadModal.svelte
+#: src/lib/components/custom/VM/Create/Advanced.svelte
#: src/lib/components/custom/VM/Create/Advanced.svelte
#: src/lib/components/custom/VM/Create/CreateVM.svelte
+#: src/lib/components/custom/VM/Create/CreateVM.svelte
+#: src/lib/components/custom/VM/Extra/CPUSelector.svelte
#: src/lib/components/custom/VM/Extra/CPUSelector.svelte
#: src/lib/components/custom/VM/Hardware/CPU.svelte
+#: src/lib/components/custom/VM/Hardware/CPU.svelte
+#: src/lib/components/custom/VM/Hardware/Network.svelte
#: src/lib/components/custom/VM/Hardware/Network.svelte
#: src/lib/components/custom/VM/Hardware/PCIDevices.svelte
+#: src/lib/components/custom/VM/Hardware/PCIDevices.svelte
+#: src/lib/components/custom/VM/Hardware/RAM.svelte
#: src/lib/components/custom/VM/Hardware/RAM.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Hardware/TPM.svelte
+#: src/lib/components/custom/VM/Hardware/TPM.svelte
+#: src/lib/components/custom/VM/Hardware/VNC.svelte
#: src/lib/components/custom/VM/Hardware/VNC.svelte
#: src/lib/components/custom/VM/Options/BootRom.svelte
#: src/lib/components/custom/VM/Options/BootRom.svelte
#: src/lib/components/custom/VM/Options/Clock.svelte
+#: src/lib/components/custom/VM/Options/Clock.svelte
+#: src/lib/components/custom/VM/Options/CloudInit.svelte
#: src/lib/components/custom/VM/Options/CloudInit.svelte
#: src/lib/components/custom/VM/Options/ExtraBhyveOptions.svelte
#: src/lib/components/custom/VM/Options/ExtraBhyveOptions.svelte
#: src/lib/components/custom/VM/Options/IgnoreUMSR.svelte
+#: src/lib/components/custom/VM/Options/IgnoreUMSR.svelte
+#: src/lib/components/custom/VM/Options/QemuGuestAgent.svelte
#: src/lib/components/custom/VM/Options/QemuGuestAgent.svelte
#: src/lib/components/custom/VM/Options/Serial.svelte
+#: src/lib/components/custom/VM/Options/Serial.svelte
+#: src/lib/components/custom/VM/Options/ShutdownWaitTime.svelte
#: src/lib/components/custom/VM/Options/ShutdownWaitTime.svelte
#: src/lib/components/custom/VM/Options/StartOrder.svelte
+#: src/lib/components/custom/VM/Options/StartOrder.svelte
+#: src/lib/components/custom/VM/Options/WoL.svelte
#: src/lib/components/custom/VM/Options/WoL.svelte
#: src/lib/components/custom/VM/Template/Create.svelte
+#: src/lib/components/custom/VM/Template/Create.svelte
+#: src/lib/components/custom/VM/Template/View.svelte
#: src/lib/components/custom/VM/Template/View.svelte
#: src/lib/components/custom/ZFS/datasets/fs/Create.svelte
+#: src/lib/components/custom/ZFS/datasets/fs/Create.svelte
+#: src/lib/components/custom/ZFS/datasets/fs/Edit.svelte
#: src/lib/components/custom/ZFS/datasets/fs/Edit.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/Create.svelte
+#: src/lib/components/custom/ZFS/datasets/snapshots/Create.svelte
+#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/Rollback.svelte
+#: src/lib/components/custom/ZFS/datasets/snapshots/Rollback.svelte
+#: src/lib/components/custom/ZFS/datasets/volumes/Create.svelte
#: src/lib/components/custom/ZFS/datasets/volumes/Create.svelte
#: src/lib/components/custom/ZFS/datasets/volumes/Edit.svelte
+#: src/lib/components/custom/ZFS/datasets/volumes/Edit.svelte
+#: src/lib/components/custom/ZFS/datasets/volumes/FlashFile.svelte
#: src/lib/components/custom/ZFS/datasets/volumes/FlashFile.svelte
#: src/lib/components/custom/ZFS/pools/Create.svelte
+#: src/lib/components/custom/ZFS/pools/Create.svelte
+#: src/lib/components/custom/ZFS/pools/Edit.svelte
#: src/lib/components/custom/ZFS/pools/Edit.svelte
#: src/lib/components/ui/dialog/dialog-content.svelte
#: src/lib/components/ui/sheet/sheet-content.svelte
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
+#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
+#: src/routes/[node]/jail/[node]/summary/+page.svelte
#: src/routes/[node]/jail/[node]/summary/+page.svelte
#: src/routes/[node]/network/switches/standard/+page.svelte
+#: src/routes/[node]/network/switches/standard/+page.svelte
+#: src/routes/[node]/notes/+page.svelte
#: src/routes/[node]/notes/+page.svelte
#: src/routes/[node]/settings/authentication/groups/+page.svelte
+#: src/routes/[node]/settings/authentication/groups/+page.svelte
+#: src/routes/[node]/settings/authentication/groups/+page.svelte
+#: src/routes/[node]/settings/authentication/groups/+page.svelte
+#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/utilities/downloader/+page.svelte
#: src/routes/[node]/utilities/downloader/+page.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
+#: src/routes/[node]/vm/[node]/summary/+page.svelte
+#: src/routes/[node]/vm/[rid]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
#: src/routes/datacenter/backups/events/+page.svelte
+#: src/routes/datacenter/backups/events/+page.svelte
+#: src/routes/datacenter/backups/events/+page.svelte
+#: src/routes/datacenter/backups/events/+page.svelte
+#: src/routes/datacenter/notes/+page.svelte
#: src/routes/datacenter/notes/+page.svelte
#: src/routes/datacenter/replication/events/+page.svelte
+#: src/routes/datacenter/replication/events/+page.svelte
+#: src/routes/datacenter/replication/events/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Close"
msgstr "关闭"
@@ -1109,9 +1361,11 @@ msgstr "关闭"
#: src/routes/[node]/notes/+page.svelte
#: src/routes/datacenter/notes/+page.svelte
msgid "Post Upgrade Summary"
-msgstr "更新摘要"
+msgstr "升级后摘要"
#: src/routes/[node]/notes/+page.svelte
+#: src/routes/[node]/notes/+page.svelte
+#: src/routes/datacenter/notes/+page.svelte
#: src/routes/datacenter/notes/+page.svelte
msgid "Content"
msgstr "内容"
@@ -1119,10 +1373,11 @@ msgstr "内容"
#: src/routes/[node]/notes/+page.svelte
#: src/routes/datacenter/notes/+page.svelte
msgid "This is a note"
-msgstr "这是条备注"
+msgstr "这是一条笔记"
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
#: src/lib/components/custom/Dialog/SingleValue.svelte
+#: src/lib/components/custom/Dialog/SingleValue.svelte
#: src/lib/components/custom/Jail/Hardware/CPU.svelte
#: src/lib/components/custom/Jail/Hardware/RAM.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
@@ -1171,23 +1426,29 @@ msgstr "保存"
#: src/routes/[node]/notes/+page.svelte
#: src/routes/datacenter/notes/+page.svelte
msgid "Failed to delete note"
-msgstr "备注删除失败"
+msgstr "删除笔记失败"
#: src/routes/[node]/notes/+page.svelte
#: src/routes/datacenter/notes/+page.svelte
msgid "Failed to delete notes"
-msgstr "备注删除失败"
+msgstr "删除笔记失败"
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
+#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
+#: src/routes/[node]/jail/[node]/summary/+page.svelte
#: src/routes/[node]/jail/[node]/summary/+page.svelte
#: src/routes/[node]/summary/+page.svelte
+#: src/routes/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
+#: src/routes/[node]/vm/[node]/summary/+page.svelte
+#: src/routes/[node]/vm/[rid]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "CPU Usage"
msgstr "CPU 使用率"
#: src/routes/[node]/jail/[node]/summary/+page.svelte
#: src/routes/[node]/summary/+page.svelte
+#: src/routes/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "RAM Usage"
@@ -1263,10 +1524,8 @@ msgid "Reconnect"
msgstr "重新连接"
#: src/routes/[node]/terminal/+page.svelte
-msgid ""
-"The host console has been disconnected.<0/> Click the \"Reconnect\" button "
-"to start a new session."
-msgstr "主机控制台已断开连接。<0/> 点击“重新连接”按钮启动新会话。"
+msgid "The host console has been disconnected.<0/> Click the \"Reconnect\" button to start a new session."
+msgstr "主机控制台已断开连接。<0/> 点击“重新连接”按钮以启动新会话。"
#: src/routes/[node]/terminal/+page.svelte
msgid "Host terminal"
@@ -1356,16 +1615,12 @@ msgid "Reset Cluster"
msgstr "重置集群"
#: src/routes/datacenter/cluster/+page.svelte
-msgid ""
-"This will reset all clustered data and configuration, including all notes, "
-"backup targets, jobs and events. This action cannot be undone."
-msgstr ""
-"将重置所有集群数据和配置,包括所有备注、备份目标、任务和事件。该操作不可撤"
-"销。"
+msgid "This will reset all clustered data and configuration, including all notes, backup targets, jobs and events. This action cannot be undone."
+msgstr "这将重置所有集群数据和配置,包括所有备注、备份目标、任务和事件。此操作不可撤销。"
#: src/routes/datacenter/cluster/+page.svelte
msgid "Leader cannot exit when followers are present"
-msgstr "当存在从节点时,领导节点无法退出"
+msgstr "存在跟随者时,Leader 无法退出"
#: src/routes/datacenter/cluster/+page.svelte
msgid "Failed to reset cluster"
@@ -1377,11 +1632,11 @@ msgstr "重置集群后需要重新登录"
#: src/routes/datacenter/notes/+page.svelte
msgid "Note deleted"
-msgstr "备注已删除"
+msgstr "笔记已删除"
#: src/routes/datacenter/notes/+page.svelte
msgid "Notes deleted"
-msgstr "备注已删除"
+msgstr "笔记已删除"
#: src/routes/datacenter/summary/+page.svelte
msgid "Health"
@@ -1393,16 +1648,17 @@ msgstr "单节点"
#: src/routes/datacenter/summary/+page.svelte
msgid "Quorate: Yes"
-msgstr "已达仲裁:是"
+msgstr "法定人数:是"
#: src/routes/datacenter/summary/+page.svelte
msgid "Quorate: Yes (Degraded)"
-msgstr "已达仲裁:是(降级)"
+msgstr "法定人数:是(降级)"
#: src/routes/datacenter/summary/+page.svelte
msgid "Quorate: No"
-msgstr "未达仲裁"
+msgstr "法定人数:否"
+#: src/routes/datacenter/summary/+page.svelte
#: src/routes/datacenter/summary/+page.svelte
msgid "Nodes"
msgstr "节点"
@@ -1429,6 +1685,8 @@ msgstr "离线:不适用"
msgid "Resources"
msgstr "资源"
+#: src/routes/datacenter/summary/+page.svelte
+#: src/routes/datacenter/summary/+page.svelte
#: src/routes/datacenter/summary/+page.svelte
msgid "Disk"
msgstr "磁盘"
@@ -1457,8 +1715,15 @@ msgstr "ID"
#: src/routes/datacenter/summary/+page.svelte
msgid "Last Ping"
-msgstr "最后 Ping"
+msgstr "最后 Ping 时间"
+#~ msgid "Username and password are required"
+#~ msgstr "用户名和密码是必填项"
+
+#~ msgid "Invalid username"
+#~ msgstr "用户名无效"
+
+#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Username already exists"
msgstr "用户名已存在"
@@ -1467,17 +1732,23 @@ msgstr "用户名已存在"
msgid "Invalid email address"
msgstr "电子邮件地址无效"
+#~ msgid "Password must be at least 8 characters long"
+#~ msgstr "密码长度必须至少为 8 个字符"
+
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Failed to create user"
-msgstr "用户创建失败"
+msgstr "创建用户失败"
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "User created"
-msgstr "已创建用户"
+msgstr "用户已创建"
+
+#~ msgid "No user selected for editing"
+#~ msgstr "未选择要编辑的用户"
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Failed to edit user"
-msgstr "用户编辑失败"
+msgstr "编辑用户失败"
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "User edited"
@@ -1513,6 +1784,8 @@ msgstr "管理员"
#: src/lib/components/custom/FileExplorer/CreateFileOrFolderModal.svelte
#: src/lib/components/custom/Header.svelte
#: src/lib/components/custom/Network/DHCP/Lease/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/DHCP/Lease/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
@@ -1530,6 +1803,7 @@ msgstr "管理员"
#: src/lib/components/custom/ZFS/datasets/volumes/Create.svelte
#: src/lib/components/custom/ZFS/pools/Create.svelte
#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/switches/standard/+page.svelte
#: src/routes/[node]/settings/authentication/groups/+page.svelte
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
@@ -1542,9 +1816,12 @@ msgstr "创建"
msgid "Invalid IP address"
msgstr "无效的 IP 地址"
+#~ msgid "Invalid port number"
+#~ msgstr "无效的端口号"
+
#: src/lib/components/custom/Cluster/Create.svelte
msgid "Failed to create cluster"
-msgstr "集群创建失败"
+msgstr "创建集群失败"
#: src/lib/components/custom/Cluster/Create.svelte
msgid "Cluster created"
@@ -1559,6 +1836,12 @@ msgstr "初始化集群后需要重新登录"
msgid "Node IP"
msgstr "节点 IP"
+#~ msgid "Node Port"
+#~ msgstr "节点端口"
+
+#~ msgid "Leader API is required"
+#~ msgstr "必须提供 Leader API"
+
#: src/lib/components/custom/Cluster/Join.svelte
msgid "Cluster Key is required"
msgstr "必须提供集群密钥"
@@ -1575,6 +1858,9 @@ msgstr "已加入集群"
msgid "No Node ID available"
msgstr "无可用节点 ID"
+#~ msgid "Leader API (192.168.1.1:8181)"
+#~ msgstr "Leader API (192.168.1.1:8181)"
+
#: src/lib/components/custom/Cluster/Join.svelte
#: src/lib/components/custom/Cluster/JoinInformation.svelte
msgid "Cluster Key"
@@ -1635,11 +1921,13 @@ msgstr "主节点"
#: src/lib/components/custom/Cluster/JoinInformation.svelte
#: src/routes/datacenter/backups/events/+page.svelte
#: src/routes/datacenter/replication/events/+page.svelte
+#: src/routes/datacenter/replication/events/+page.svelte
msgid "Copy"
msgstr "复制"
#: src/lib/components/custom/Charts/EChartSample.svelte
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
+#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
#: src/routes/[node]/jail/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
@@ -1686,7 +1974,7 @@ msgstr "浅色"
#: src/lib/components/custom/Command/Index.svelte
msgid "Log out"
-msgstr "注销"
+msgstr "退出登录"
#: src/lib/components/custom/Dialog/Alert.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/Delete.svelte
@@ -1727,8 +2015,10 @@ msgstr "您确定吗?"
#: src/lib/components/custom/Dialog/Alert.svelte
msgid "This action cannot be undone. This will permanently delete "
-msgstr "此操作无法撤销。将永久删除 "
+msgstr "此操作无法撤销。这将永久删除 "
+#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
+#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
#: src/lib/components/custom/DataCenter/Backups/Jobs/OOBRestore.svelte
@@ -1750,6 +2040,7 @@ msgstr "此操作无法撤销。将永久删除 "
#: src/routes/[node]/jail/[ctid]/+layout.svelte
#: src/routes/[node]/jail/[ctid]/snapshots/+page.svelte
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
+#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
#: src/routes/[node]/jail/[node]/+layout.svelte
#: src/routes/[node]/jail/[node]/snapshots/+page.svelte
#: src/routes/[node]/jail/[node]/summary/+page.svelte
@@ -1761,6 +2052,8 @@ msgstr "此操作无法撤销。将永久删除 "
#: src/routes/[node]/vm/[rid]/+layout.svelte
#: src/routes/[node]/vm/[rid]/snapshots/+page.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
+#: src/routes/[node]/vm/[rid]/summary/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Cancel"
msgstr "取消"
@@ -1785,12 +2078,12 @@ msgstr "已创建分区{0}"
#. 0: sizes.length > 1 ? 'partitions' \\: 'partition'
#: src/lib/components/custom/Disk/CreatePartition.svelte
msgid "Error creating {0}"
-msgstr "{0} 创建出错"
+msgstr "创建 {0} 时出错"
#. 0: newPartitions.length + 1
#: src/lib/components/custom/Disk/CreatePartition.svelte
msgid "New Partition {0}"
-msgstr "新键分区 {0}"
+msgstr "新分区 {0}"
#: src/lib/components/custom/Disk/CreatePartition.svelte
msgid "Create Partitions"
@@ -1800,12 +2093,14 @@ msgstr "创建分区"
#: src/lib/components/custom/FileExplorer/ListView.svelte
#: src/lib/components/custom/FileExplorer/Toolbar.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/ZFS/datasets/volumes/Create.svelte
msgid "Size"
msgstr "大小"
#: src/lib/components/custom/Disk/CreatePartition.svelte
#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
msgid "Actions"
msgstr "操作"
@@ -1835,12 +2130,14 @@ msgstr "保存分区"
#: src/lib/components/custom/FileExplorer/CreateFileOrFolderModal.svelte
#: src/routes/[node]/storage/explorer/+page.svelte
+#: src/routes/[node]/storage/explorer/+page.svelte
msgid "Folder"
msgstr "文件夹"
#: src/lib/components/custom/FileExplorer/CreateFileOrFolderModal.svelte
#: src/lib/components/custom/ZFS/datasets/volumes/FlashFile.svelte
#: src/routes/[node]/storage/explorer/+page.svelte
+#: src/routes/[node]/storage/explorer/+page.svelte
msgid "File"
msgstr "文件"
@@ -1901,11 +2198,11 @@ msgstr "M月d日"
#: src/lib/components/custom/FileExplorer/ListView.svelte
msgid "MMM d, yyyy"
-msgstr "M月d日,yyyy年"
+msgstr "yyyy年M月d日"
#: src/lib/components/custom/FileExplorer/ListView.svelte
msgid "Modified"
-msgstr "已修改"
+msgstr "修改时间"
#: src/lib/components/custom/FileExplorer/RenameModal.svelte
msgid "Enter new name"
@@ -1954,7 +2251,7 @@ msgstr "最后修改"
#: src/lib/components/custom/FileExplorer/Toolbar.svelte
msgid "First Modified"
-msgstr "首次修改"
+msgstr "最早修改"
#: src/lib/components/custom/Cluster/Storage/Create.svelte
#: src/lib/components/custom/FileExplorer/Toolbar.svelte
@@ -1974,7 +2271,7 @@ msgstr "类型"
#: src/lib/components/custom/Initialization/Initialize.svelte
msgid "Sylve initialized"
-msgstr "Sylve 初始化完成"
+msgstr "Sylve 已初始化"
#: src/lib/components/custom/Initialization/Initialize.svelte
#: src/lib/components/custom/Initialization/Reboot.svelte
@@ -1995,22 +2292,34 @@ msgstr "服务"
#: src/lib/components/custom/Initialization/Initialize.svelte
#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
msgid "Virtualization"
msgstr "虚拟化"
#: src/lib/components/custom/Initialization/Initialize.svelte
#: src/lib/components/custom/Jail/Template/Create.svelte
+#: src/lib/components/custom/Jail/Template/Create.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
#: src/routes/[node]/settings/system/+page.svelte
msgid "Jails"
-msgstr "Jail"
+msgstr "Jails"
#: src/lib/components/custom/Initialization/Initialize.svelte
#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
msgid "Samba Server"
msgstr "Samba 服务器"
#: src/lib/components/custom/Initialization/Initialize.svelte
#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
msgid "DHCP Server"
msgstr "DHCP 服务器"
@@ -2020,7 +2329,7 @@ msgstr "WOL 服务器"
#: src/lib/components/custom/Initialization/Initialize.svelte
msgid "We've hit errors during initialization"
-msgstr "初始化过程中出错"
+msgstr "初始化过程中遇到错误"
#: src/lib/components/custom/Initialization/Initialize.svelte
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
@@ -2029,7 +2338,7 @@ msgstr "初始化"
#: src/lib/components/custom/Initialization/Reboot.svelte
msgid "System is restarting…"
-msgstr "正在重启系统…"
+msgstr "系统正在重启..."
#: src/lib/components/custom/Initialization/Reboot.svelte
msgid "System is back online"
@@ -2044,10 +2353,8 @@ msgid "Setup Complete"
msgstr "设置完成"
#: src/lib/components/custom/Initialization/Reboot.svelte
-msgid ""
-"A <0>full system reboot0> is required for Sylve to finish initialization. "
-"Continue when ready."
-msgstr "Sylve 需要<0>系统完全重启0>来完成初始化。准备就绪后请继续。"
+msgid "A <0>full system reboot0> is required for Sylve to finish initialization. Continue when ready."
+msgstr "Sylve 需要<0>完整系统重启0>来完成初始化。准备就绪后请继续。"
#: src/lib/components/custom/Initialization/Reboot.svelte
msgid "<0/> Rebooting..."
@@ -2060,11 +2367,12 @@ msgstr "<0/> 重启"
#: src/lib/components/custom/Samba/Share.svelte
msgid "Share name already exists"
-msgstr "共享名称已被占用"
+msgstr "共享名称已存在"
#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
#: src/lib/components/custom/DataCenter/Backups/Targets/Form.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/lib/components/custom/Samba/Share.svelte
#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
@@ -2084,12 +2392,12 @@ msgstr "数据集是必填项"
#. 0: edit ? 'edit' \\: 'create'
#: src/lib/components/custom/Samba/Share.svelte
msgid "Failed to {0} Samba share"
-msgstr "Samba {0} 共享失败"
+msgstr "无法{0} Samba 共享"
#. 0: edit ? 'edited' \\: 'created'
#: src/lib/components/custom/Samba/Share.svelte
msgid "Samba share {0}"
-msgstr "共享 Samba {0}"
+msgstr "Samba 共享 {0}"
#: src/lib/components/custom/Samba/Share.svelte
msgid "Edit Samba Share"
@@ -2114,6 +2422,7 @@ msgstr "选择数据集"
#~ msgid "Read-Only Groups"
#~ msgstr "只读组"
+#: src/lib/components/custom/Samba/Share.svelte
#: src/lib/components/custom/Samba/Share.svelte
msgid "Select groups"
msgstr "选择组"
@@ -2150,7 +2459,7 @@ msgstr "搜索..."
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "Escape"
-msgstr "转义"
+msgstr "Esc"
#: src/lib/components/ui/breadcrumb/breadcrumb-ellipsis.svelte
msgid "More"
@@ -2175,6 +2484,7 @@ msgstr "输入以创建"
#: src/lib/components/ui/custom-input/combobox-bindable.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Add"
msgstr "添加"
@@ -2198,14 +2508,14 @@ msgstr "正在删除 Jail"
#: src/routes/[node]/jail/[node]/+layout.svelte
#: src/routes/[node]/jail/[node]/summary/+page.svelte
msgid "Please wait while Jail {0} ({1}) is being deleted"
-msgstr "请稍候,正在删除 Jail {0} ({1})"
+msgstr "请稍候,Jail {0} ({1}) 正在删除中"
#: src/routes/[node]/jail/[ctid]/+layout.svelte
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
#: src/routes/[node]/jail/[node]/+layout.svelte
#: src/routes/[node]/jail/[node]/summary/+page.svelte
msgid "Error deleting jail"
-msgstr "Jail 删除出错"
+msgstr "删除 Jail 时出错"
#: src/routes/[node]/jail/[ctid]/+layout.svelte
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
@@ -2214,6 +2524,12 @@ msgstr "Jail 删除出错"
msgid "Jail deleted"
msgstr "Jail 已删除"
+#~ msgid "Stopping Jail"
+#~ msgstr "正在停止 Jail"
+
+#~ msgid "Please wait while Jail {0} ({1}) is being stopped"
+#~ msgstr "请稍候,Jail {0} ({1}) 正在停止中"
+
#: src/routes/[node]/jail/[ctid]/+layout.svelte
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
#: src/routes/[node]/jail/[node]/+layout.svelte
@@ -2221,6 +2537,15 @@ msgstr "Jail 已删除"
msgid "Error stopping jail"
msgstr "停止 Jail 时出错"
+#~ msgid "Jail stopped"
+#~ msgstr "Jail 已停止"
+
+#~ msgid "Starting Jail"
+#~ msgstr "正在启动 Jail"
+
+#~ msgid "Please wait while Jail {0} ({1}) is being started"
+#~ msgstr "请稍候,Jail {0} ({1}) 正在启动中"
+
#: src/routes/[node]/jail/[ctid]/+layout.svelte
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
#: src/routes/[node]/jail/[node]/+layout.svelte
@@ -2228,6 +2553,9 @@ msgstr "停止 Jail 时出错"
msgid "Error starting jail"
msgstr "启动 Jail 时出错"
+#~ msgid "Jail started"
+#~ msgstr "Jail 已启动"
+
#: src/lib/components/custom/Jail/Template/View.svelte
#: src/routes/[node]/jail/[ctid]/+layout.svelte
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
@@ -2257,7 +2585,7 @@ msgstr "启动"
#: src/routes/[node]/jail/[node]/+layout.svelte
#: src/routes/[node]/jail/[node]/summary/+page.svelte
msgid "This will permanently delete Jail"
-msgstr "将永久删除 Jail"
+msgstr "这将永久删除 Jail"
#: src/routes/[node]/jail/[ctid]/+layout.svelte
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
@@ -2291,22 +2619,29 @@ msgstr "型号"
#: src/lib/components/custom/Network/Routes/Form.svelte
#: src/lib/components/custom/VM/Create/Basic.svelte
#: src/routes/[node]/jail/[ctid]/snapshots/+page.svelte
+#: src/routes/[node]/jail/[ctid]/snapshots/+page.svelte
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
#: src/routes/[node]/jail/[node]/snapshots/+page.svelte
+#: src/routes/[node]/jail/[node]/snapshots/+page.svelte
#: src/routes/[node]/jail/[node]/summary/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/interfaces/+page.svelte
#: src/routes/[node]/vm/[node]/snapshots/+page.svelte
+#: src/routes/[node]/vm/[node]/snapshots/+page.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/snapshots/+page.svelte
+#: src/routes/[node]/vm/[rid]/snapshots/+page.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
#: src/routes/datacenter/backups/targets/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Description"
msgstr "描述"
#: src/lib/components/custom/Jail/Create/Network.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/lib/components/custom/VM/Create/Network.svelte
#: src/lib/components/custom/VM/Summary/GuestAgent.svelte
#: src/routes/[node]/network/interfaces/+page.svelte
@@ -2317,7 +2652,7 @@ msgstr "MAC 地址"
#: src/routes/[node]/network/interfaces/+page.svelte
msgid "Metric"
-msgstr "指标"
+msgstr "跃点数"
#: src/routes/[node]/network/interfaces/+page.svelte
#: src/routes/datacenter/replication/events/+page.svelte
@@ -2335,12 +2670,27 @@ msgid "Details - {0}"
msgstr "详情 - {0}"
#: src/lib/components/custom/Jail/Create/Network.svelte
+#: src/lib/components/custom/Jail/Create/Network.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/routes/[node]/network/objects/+page.svelte
msgid "Host(s)"
msgstr "主机"
#: src/lib/components/custom/Jail/Create/Network.svelte
+#: src/lib/components/custom/Jail/Create/Network.svelte
+#: src/lib/components/custom/Jail/Create/Network.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/routes/[node]/network/objects/+page.svelte
msgid "Network(s)"
@@ -2348,10 +2698,22 @@ msgstr "网络"
#: src/lib/components/custom/Jail/Create/Network.svelte
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/routes/[node]/network/objects/+page.svelte
msgid "MAC(s)"
msgstr "MAC 地址"
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/routes/[node]/network/objects/+page.svelte
msgid "DUID(s)"
@@ -2378,39 +2740,27 @@ msgstr "对象 {0} 正在使用中"
#. 0: active?.name
#: src/routes/[node]/network/objects/+page.svelte
msgid "Error deleting object {0}"
-msgstr "对象 {0} 删除出错"
+msgstr "删除对象 {0} 时出错"
#. 0: device; 1: vendor
#: src/routes/[node]/settings/device-passthrough/+page.svelte
-msgid ""
-"Are you sure you want to pass through {0} by {1}? This will "
-"make it unavailable to the host."
-msgstr "您确定要直通 {1} 的 {0} 吗?这样主机将无法使用它。"
+msgid "Are you sure you want to pass through {0} by {1}? This will make it unavailable to the host."
+msgstr "您确定要直通 {1} 的 {0} 吗?这将使其对主机不可用。"
#. 0: device; 1: vendor
#: src/routes/[node]/settings/device-passthrough/+page.svelte
-msgid ""
-"Prepare passthrough for {0} by {1}? This updates /boot/"
-"loader.conf and applies after reboot."
-msgstr ""
-"为 {1} 的 {0} 准备直通吗?这将更新 /boot/loader.conf 并在重启后"
-"生效。"
+msgid "Prepare passthrough for {0} by {1}? This updates /boot/loader.conf and applies after reboot."
+msgstr "为 {1} 的 {0} 准备直通吗?这将更新 /boot/loader.conf 并在重启后生效。"
#. 0: device; 1: vendor
#: src/routes/[node]/settings/device-passthrough/+page.svelte
-msgid ""
-"Import {0} by {1} into Sylve passthrough management? This "
-"keeps current ppt state and adds it to the database."
-msgstr ""
-"将 {1} 的 {0} 导入 Sylve 直通管理吗?这将保留当前 PPT 状态并将"
-"其添加到数据库。"
+msgid "Import {0} by {1} into Sylve passthrough management? This keeps current ppt state and adds it to the database."
+msgstr "将 {1} 的 {0} 导入 Sylve 直通管理吗?这将保留当前 ppt 状态并将其添加到数据库。"
#. 0: device; 1: vendor
#: src/routes/[node]/settings/device-passthrough/+page.svelte
-msgid ""
-"Are you sure you want to remove passthrough for {0} by {1}? "
-"This will make it available to the host again."
-msgstr "您确定要移除 {1} 的 {0} 的直通吗?这样主机就能使用它。"
+msgid "Are you sure you want to remove passthrough for {0} by {1}? This will make it available to the host again."
+msgstr "您确定要移除 {1} 的 {0} 的直通吗?这将使其再次对主机可用。"
#: src/routes/[node]/settings/device-passthrough/+page.svelte
msgid "Enable Passthrough"
@@ -2434,7 +2784,7 @@ msgstr "设备已添加到直通"
#: src/routes/[node]/settings/device-passthrough/+page.svelte
msgid "Failed to add device to passthrough"
-msgstr "无法将设备添加到直通"
+msgstr "添加设备到直通失败"
#: src/routes/[node]/settings/device-passthrough/+page.svelte
msgid "Device prepared for passthrough. Reboot required."
@@ -2442,19 +2792,19 @@ msgstr "设备已准备好直通。需要重启。"
#: src/routes/[node]/settings/device-passthrough/+page.svelte
msgid "Failed to prepare device for passthrough"
-msgstr "设备直通准备失败"
+msgstr "准备设备直通失败"
#: src/routes/[node]/settings/device-passthrough/+page.svelte
msgid "Device imported into passthrough management"
-msgstr "已将设备导入直通管理"
+msgstr "设备已导入直通管理"
#: src/routes/[node]/settings/device-passthrough/+page.svelte
msgid "Failed to import device into passthrough management"
-msgstr "无法将设备导入直通管理"
+msgstr "导入设备到直通管理失败"
#: src/routes/[node]/settings/device-passthrough/+page.svelte
msgid "Device removed from passthrough"
-msgstr "已从直通中移除设备"
+msgstr "设备已从直通中移除"
#: src/routes/[node]/settings/device-passthrough/+page.svelte
msgid "Device is in use by a VM, failed to remove"
@@ -2464,13 +2814,21 @@ msgstr "设备正被虚拟机使用,移除失败"
msgid "Failed to remove device from passthrough"
msgstr "从直通中移除设备失败"
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
#: src/routes/[node]/settings/system/+page.svelte
msgid "ZFS Pools"
msgstr "ZFS 存储池"
+#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
+#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
#: src/lib/components/custom/DataCenter/Backups/Targets/Form.svelte
#: src/lib/components/custom/Jail/Template/View.svelte
+#: src/lib/components/custom/Jail/Template/View.svelte
+#: src/lib/components/custom/Jail/Template/View.svelte
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
@@ -2480,21 +2838,51 @@ msgstr "ZFS 存储池"
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
#: src/routes/[node]/network/routes/+page.svelte
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
+#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
#: src/routes/[node]/settings/system/+page.svelte
#: src/routes/[node]/vm/[node]/hardware/+page.svelte
+#: src/routes/[node]/vm/[node]/hardware/+page.svelte
+#: src/routes/[node]/vm/[node]/hardware/+page.svelte
+#: src/routes/[node]/vm/[rid]/hardware/+page.svelte
+#: src/routes/[node]/vm/[rid]/hardware/+page.svelte
#: src/routes/[node]/vm/[rid]/hardware/+page.svelte
#: src/routes/datacenter/backups/jobs/+page.svelte
#: src/routes/datacenter/backups/targets/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Enabled"
msgstr "已启用"
#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
+#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
+#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
+#: src/lib/components/custom/Jail/Template/View.svelte
+#: src/lib/components/custom/Jail/Template/View.svelte
#: src/lib/components/custom/Jail/Template/View.svelte
#: src/lib/components/custom/Network/WireGuard/Server/PeerList.svelte
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
+#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
+#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
#: src/routes/[node]/settings/system/+page.svelte
#: src/routes/[node]/vm/[node]/hardware/+page.svelte
+#: src/routes/[node]/vm/[node]/hardware/+page.svelte
+#: src/routes/[node]/vm/[node]/hardware/+page.svelte
+#: src/routes/[node]/vm/[rid]/hardware/+page.svelte
+#: src/routes/[node]/vm/[rid]/hardware/+page.svelte
#: src/routes/[node]/vm/[rid]/hardware/+page.svelte
#: src/routes/datacenter/backups/jobs/+page.svelte
#: src/routes/datacenter/backups/targets/+page.svelte
@@ -2502,6 +2890,8 @@ msgstr "已启用"
msgid "Disabled"
msgstr "已禁用"
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
#: src/routes/[node]/settings/system/+page.svelte
msgid "WoL Server"
msgstr "WoL 服务器"
@@ -2516,11 +2906,11 @@ msgstr "ZFS 存储池未作更改"
#: src/routes/[node]/settings/system/+page.svelte
msgid "Failed to update ZFS Pools"
-msgstr "ZFS 存储池更新失败"
+msgstr "更新 ZFS 存储池失败"
#: src/routes/[node]/settings/system/+page.svelte
msgid "ZFS Pools updated"
-msgstr "ZFS 存储池更新成功"
+msgstr "ZFS 存储池已更新"
#. 0: title
#. 0: title
@@ -2552,15 +2942,13 @@ msgstr "切换 {0}"
#. 0: enabled ? 'disable' \\: 'enable'; 1: displayName; 2: networkWarning
#: src/routes/[node]/settings/system/+page.svelte
-msgid ""
-"You are about to {0} {1}, {2}you will have to restart Sylve and or the host "
-"system for changes to take effect"
-msgstr "您即将 {0} {1},{2} 您需要重启 Sylve 和/或主机系统以使更改生效"
+msgid "You are about to {0} {1}, {2}you will have to restart Sylve and or the host system for changes to take effect"
+msgstr "您即将 {0} {1},{2}您将需要重启 Sylve 或主机系统以使更改生效"
#. 0: serviceName
#: src/routes/[node]/settings/system/+page.svelte
msgid "Failed to toggle {0}"
-msgstr "{0} 切换失败"
+msgstr "切换 {0} 失败"
#: src/routes/[node]/settings/system/+page.svelte
msgid "Enter ZFS Pools"
@@ -2573,6 +2961,11 @@ msgstr "S.M.A.R.T. 值 ({0})"
#: src/lib/components/custom/VM/Create/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
+#: src/lib/components/custom/ZFS/pools/Create.svelte
+#: src/lib/components/custom/ZFS/pools/Create.svelte
+#: src/lib/components/custom/ZFS/pools/Create.svelte
+#: src/lib/components/custom/ZFS/pools/Create.svelte
#: src/lib/components/custom/ZFS/pools/Create.svelte
#: src/routes/[node]/storage/disks/+page.svelte
msgid "NVMe"
@@ -2580,22 +2973,18 @@ msgstr "NVMe"
#. 0: activePartition.name
#: src/routes/[node]/storage/disks/+page.svelte
-msgid ""
-"This action cannot be undone. This will permanently delete partition "
-"{0}."
-msgstr "此操作无法撤销。将永久删除分区 {0}。"
+msgid "This action cannot be undone. This will permanently delete partition {0}."
+msgstr "此操作无法撤销。这将永久删除分区 {0}。"
#. 0: activeDisk.device
#: src/routes/[node]/storage/disks/+page.svelte
-msgid ""
-"This action cannot be undone. This will permanently wipe disk {0}"
-"b>."
-msgstr "此操作无法撤销。将永久擦除磁盘 {0}。"
+msgid "This action cannot be undone. This will permanently wipe disk {0}."
+msgstr "此操作无法撤销。这将永久擦除磁盘 {0}。"
#. 0: activeDisk.device
#: src/routes/[node]/storage/disks/+page.svelte
msgid "Disk {0} initialized with GPT"
-msgstr "已使用 GPT 初始化磁盘 {0}"
+msgstr "磁盘 {0} 已使用 GPT 初始化"
#: src/routes/[node]/storage/disks/+page.svelte
msgid "S.M.A.R.T Values"
@@ -2645,7 +3034,7 @@ msgstr "错误 {0}: {1}"
#. 0: isFolder ? 'folder' \\: 'file'; 1: name
#: src/routes/[node]/storage/explorer/+page.svelte
msgid "Failed to create {0} \"{1}\""
-msgstr "{0} \"{1}\" 创建失败"
+msgstr "创建{0}“{1}”失败"
#: src/routes/[node]/storage/explorer/+page.svelte
msgid "Renamed successfully"
@@ -2698,12 +3087,12 @@ msgstr "{0} 个文件夹,{1} 个文件"
#. 0: modals.delete.item.type === 'folder' ? 'folder' \\: 'file'; 1: modals.delete.item.id.split('/').pop() || ''
#: src/routes/[node]/storage/explorer/+page.svelte
msgid "Failed to delete {0} \"{1}\"."
-msgstr "{0} \"{1}\" 删除失败。"
+msgstr "删除{0}“{1}”失败。"
#. 0: selectedItems.length; 1: selectedItems.length > 1 ? 's' \\: ''
#: src/routes/[node]/storage/explorer/+page.svelte
msgid "Failed to delete {0} item{1}."
-msgstr "{0} 个项目 {1} 删除失败。"
+msgstr "删除 {0} 个项目{1}失败。"
#. 0: modal.template?.name
#: src/routes/[node]/utilities/cloud-init/+page.svelte
@@ -2713,7 +3102,7 @@ msgstr "模板 {0} 已删除"
#. 0: modal.template?.name
#: src/routes/[node]/utilities/cloud-init/+page.svelte
msgid "Failed to delete template {0}"
-msgstr "模板 {0} 删除失败"
+msgstr "删除模板 {0} 失败"
#: src/routes/[node]/utilities/downloader/+page.svelte
msgid "Please enter a valid URL"
@@ -2721,12 +3110,13 @@ msgstr "请输入有效的 URL"
#: src/routes/[node]/utilities/downloader/+page.svelte
msgid "Please enter a valid Magnet, HTTP URL or Path"
-msgstr "请输入有效的磁力链接、HTTP URL 或路径"
+msgstr "请输入有效的 Magnet、HTTP URL 或路径"
#: src/routes/[node]/utilities/downloader/+page.svelte
msgid "Invalid file name"
msgstr "文件名无效"
+#: src/routes/[node]/utilities/downloader/+page.svelte
#: src/routes/[node]/utilities/downloader/+page.svelte
msgid "Download started"
msgstr "下载已开始"
@@ -2735,6 +3125,7 @@ msgstr "下载已开始"
msgid "Download failed"
msgstr "下载失败"
+#: src/routes/[node]/utilities/downloader/+page.svelte
#: src/routes/[node]/utilities/downloader/+page.svelte
msgid "Failed to get download link"
msgstr "无法获取下载链接"
@@ -2743,6 +3134,9 @@ msgstr "无法获取下载链接"
msgid "Download URL copied to clipboard"
msgstr "下载 URL 已复制到剪贴板"
+#: src/routes/[node]/utilities/downloader/+page.svelte
+#: src/routes/[node]/utilities/downloader/+page.svelte
+#: src/routes/[node]/utilities/downloader/+page.svelte
#: src/routes/[node]/utilities/downloader/+page.svelte
msgid "Download"
msgstr "下载"
@@ -2753,7 +3147,7 @@ msgstr "复制 URL"
#: src/routes/[node]/utilities/downloader/+page.svelte
msgid "Magnet / HTTP URL / Path"
-msgstr "磁力链接 / HTTP URL / 路径"
+msgstr "Magnet / HTTP URL / 路径"
#: src/routes/[node]/utilities/downloader/+page.svelte
msgid "Optional File Name"
@@ -2775,7 +3169,7 @@ msgstr "未分类 (ISO、IMG 等)"
#: src/lib/components/custom/Utilities/Downloader/UploadModal.svelte
#: src/routes/[node]/utilities/downloader/+page.svelte
msgid "Base / RootFS"
-msgstr "基本系统 / 根分区"
+msgstr "基础 / RootFS"
#: src/lib/components/custom/Utilities/Downloader/UploadModal.svelte
#: src/lib/components/custom/VM/Template/View.svelte
@@ -2799,11 +3193,11 @@ msgstr "自动转换为 RAW"
#: src/routes/[node]/utilities/downloader/+page.svelte
msgid "Failed to delete download"
-msgstr "下载删除失败"
+msgstr "删除下载失败"
#: src/routes/[node]/utilities/downloader/+page.svelte
msgid "Failed to delete downloads"
-msgstr "下载删除失败"
+msgstr "删除下载失败"
#: src/routes/[node]/vm/[node]/+layout.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
@@ -2827,9 +3221,7 @@ msgstr "正在删除虚拟机"
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/+layout.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
-msgid ""
-"Please wait while VM {0} ({1}) is being force deleted with best-"
-"effort cleanup"
+msgid "Please wait while VM {0} ({1}) is being force deleted with best-effort cleanup"
msgstr "请稍候,正在以尽力而为的清理模式强制删除虚拟机 {0} ({1})"
#. 0: vm.current.name; 1: vm.current.rid
@@ -2848,7 +3240,7 @@ msgstr "请稍候,正在删除虚拟机 {0} ({1})"
#: src/routes/[node]/vm/[rid]/+layout.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "Error force deleting VM"
-msgstr "虚拟机时强制删除出错"
+msgstr "强制删除虚拟机时出错"
#: src/routes/[node]/vm/[node]/+layout.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
@@ -2878,6 +3270,12 @@ msgstr "虚拟机已强制删除"
msgid "VM deleted"
msgstr "虚拟机已删除"
+#~ msgid "Starting Virtual Machine"
+#~ msgstr "正在启动虚拟机"
+
+#~ msgid "Please wait while VM {0} ({1}) is being started."
+#~ msgstr "请稍候,正在启动虚拟机 {0} ({1})。"
+
#: src/routes/[node]/vm/[node]/+layout.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/+layout.svelte
@@ -2885,6 +3283,15 @@ msgstr "虚拟机已删除"
msgid "Error starting VM"
msgstr "启动虚拟机时出错"
+#~ msgid "VM started"
+#~ msgstr "虚拟机已启动"
+
+#~ msgid "Stopping Virtual Machine"
+#~ msgstr "正在停止虚拟机"
+
+#~ msgid "Please wait while VM {0} ({1}) is being stopped"
+#~ msgstr "请稍候,正在停止虚拟机 {0} ({1})"
+
#: src/routes/[node]/vm/[node]/+layout.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/+layout.svelte
@@ -2892,6 +3299,15 @@ msgstr "启动虚拟机时出错"
msgid "Error stopping VM"
msgstr "停止虚拟机时出错"
+#~ msgid "VM stopped"
+#~ msgstr "虚拟机已停止"
+
+#~ msgid "Shutting Down Virtual Machine"
+#~ msgstr "正在关闭虚拟机"
+
+#~ msgid "Please wait while VM {0} ({1}) is shutting down"
+#~ msgstr "请稍候,虚拟机 {0} ({1}) 正在关机"
+
#: src/routes/[node]/vm/[node]/+layout.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/+layout.svelte
@@ -2899,6 +3315,15 @@ msgstr "停止虚拟机时出错"
msgid "Error shutting down VM"
msgstr "关闭虚拟机时出错"
+#~ msgid "VM shutdown started"
+#~ msgstr "虚拟机已开始关机"
+
+#~ msgid "Rebooting Virtual Machine"
+#~ msgstr "正在重启虚拟机"
+
+#~ msgid "Please wait while VM {0} ({1}) is being rebooted"
+#~ msgstr "请稍候,正在重启虚拟机 {0} ({1})"
+
#: src/routes/[node]/vm/[node]/+layout.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/+layout.svelte
@@ -2906,9 +3331,16 @@ msgstr "关闭虚拟机时出错"
msgid "Error rebooting VM"
msgstr "重启虚拟机时出错"
+#~ msgid "VM rebooted"
+#~ msgstr "虚拟机已重启"
+
+#: src/routes/[node]/vm/[node]/+layout.svelte
#: src/routes/[node]/vm/[node]/+layout.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
+#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/+layout.svelte
+#: src/routes/[node]/vm/[rid]/+layout.svelte
+#: src/routes/[node]/vm/[rid]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "Force Delete"
msgstr "强制删除"
@@ -2920,6 +3352,16 @@ msgstr "强制删除"
#: src/routes/[node]/jail/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[node]/+layout.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
+#: src/routes/[node]/vm/[node]/summary/+page.svelte
+#: src/routes/[node]/vm/[node]/summary/+page.svelte
+#: src/routes/[node]/vm/[node]/summary/+page.svelte
+#: src/routes/[node]/vm/[node]/summary/+page.svelte
+#: src/routes/[node]/vm/[node]/summary/+page.svelte
+#: src/routes/[node]/vm/[node]/summary/+page.svelte
+#: src/routes/[node]/vm/[rid]/summary/+page.svelte
+#: src/routes/[node]/vm/[rid]/summary/+page.svelte
+#: src/routes/[node]/vm/[rid]/summary/+page.svelte
+#: src/routes/[node]/vm/[rid]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
#: src/routes/datacenter/backups/events/+page.svelte
#: src/routes/datacenter/backups/jobs/+page.svelte
@@ -2967,12 +3409,8 @@ msgstr "这将永久删除虚拟机"
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/+layout.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
-msgid ""
-"Best-effort cleanup will attempt libvirt/domain removal, VM datasets, VM DB "
-"records, and VM network objects. Partial failures will be tolerated."
-msgstr ""
-"尽力清理将尝试移除 libvirt/domain、虚拟机数据集、虚拟机数据库记录和虚拟机网络"
-"对象。部分失败将被容忍。"
+msgid "Best-effort cleanup will attempt libvirt/domain removal, VM datasets, VM DB records, and VM network objects. Partial failures will be tolerated."
+msgstr "尽力而为的清理将尝试移除 libvirt/域、虚拟机数据集、虚拟机数据库记录以及虚拟机网络对象。将容忍部分失败。"
#: src/routes/[node]/vm/[node]/+layout.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
@@ -2996,7 +3434,7 @@ msgstr "错误已复制到剪贴板"
#: src/routes/datacenter/backups/events/+page.svelte
#: src/routes/datacenter/replication/events/+page.svelte
msgid "Failed to copy error"
-msgstr "错误复制失败"
+msgstr "复制错误失败"
#. 0: task.guestId
#. 0: jailMatch[1]
@@ -3011,6 +3449,7 @@ msgstr "Jail {0}"
#: src/routes/datacenter/backups/events/+page.svelte
#: src/routes/datacenter/backups/jobs/+page.svelte
#: src/routes/datacenter/replication/events/+page.svelte
+#: src/routes/datacenter/replication/events/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Success"
msgstr "成功"
@@ -3019,6 +3458,9 @@ msgstr "成功"
#: src/routes/datacenter/backups/events/+page.svelte
#: src/routes/datacenter/backups/jobs/+page.svelte
#: src/routes/datacenter/replication/events/+page.svelte
+#: src/routes/datacenter/replication/events/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Failed"
msgstr "失败"
@@ -3029,16 +3471,18 @@ msgstr "已中断"
#: src/routes/datacenter/backups/events/+page.svelte
msgid "Failed to load event progress"
-msgstr "事件进度加载失败"
+msgstr "加载事件进度失败"
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/nat/+page.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
#: src/routes/datacenter/backups/events/+page.svelte
+#: src/routes/datacenter/backups/events/+page.svelte
#: src/routes/datacenter/backups/jobs/+page.svelte
msgid "Source"
msgstr "源"
@@ -3047,6 +3491,7 @@ msgstr "源"
#: src/lib/components/custom/DataCenter/Backups/Jobs/OOBRestore.svelte
#: src/routes/[node]/storage/samba/audit-logs/+page.svelte
#: src/routes/datacenter/backups/events/+page.svelte
+#: src/routes/datacenter/backups/events/+page.svelte
#: src/routes/datacenter/backups/jobs/+page.svelte
#: src/routes/datacenter/backups/targets/+page.svelte
msgid "Target"
@@ -3055,6 +3500,7 @@ msgstr "目标"
#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
#: src/lib/components/custom/Network/Routes/Form.svelte
#: src/routes/datacenter/backups/events/+page.svelte
+#: src/routes/datacenter/backups/events/+page.svelte
msgid "Mode"
msgstr "模式"
@@ -3069,6 +3515,7 @@ msgstr "还原"
msgid "Backup"
msgstr "备份"
+#: src/routes/datacenter/backups/events/+page.svelte
#: src/routes/datacenter/backups/events/+page.svelte
msgid "Completed"
msgstr "已完成"
@@ -3146,6 +3593,7 @@ msgstr "关闭"
#: src/routes/datacenter/backups/jobs/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Schedule"
msgstr "计划"
@@ -3161,7 +3609,7 @@ msgstr "备份任务已删除"
#: src/routes/datacenter/backups/jobs/+page.svelte
msgid "Failed to delete job"
-msgstr "任务删除失败"
+msgstr "删除任务失败"
#: src/routes/datacenter/backups/jobs/+page.svelte
msgid "Backup job started"
@@ -3169,7 +3617,7 @@ msgstr "备份任务已启动"
#: src/routes/datacenter/backups/jobs/+page.svelte
msgid "Failed to run job"
-msgstr "任务运行失败"
+msgstr "运行任务失败"
#: src/routes/datacenter/backups/jobs/+page.svelte
msgid "Run Now"
@@ -3193,11 +3641,16 @@ msgid "SSH Host"
msgstr "SSH 主机"
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
#: src/routes/datacenter/backups/targets/+page.svelte
msgid "Port"
@@ -3215,12 +3668,13 @@ msgstr "备份目标已删除"
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
#: src/routes/datacenter/backups/targets/+page.svelte
msgid "Failed to delete target"
-msgstr "目标删除失败"
+msgstr "删除目标失败"
#: src/routes/datacenter/backups/targets/+page.svelte
msgid "Target connectivity validated"
msgstr "目标连接已验证"
+#: src/routes/datacenter/backups/targets/+page.svelte
#: src/routes/datacenter/backups/targets/+page.svelte
msgid "Validation failed"
msgstr "验证失败"
@@ -3239,7 +3693,7 @@ msgstr "所有策略"
#: src/routes/datacenter/replication/events/+page.svelte
msgid "Failed to load progress"
-msgstr "进度加载失败"
+msgstr "加载进度失败"
#: src/lib/components/custom/DataCenter/Replication/Activity.svelte
#: src/routes/datacenter/replication/events/+page.svelte
@@ -3254,6 +3708,7 @@ msgstr "升级中"
#. 0: selectedEvent.id
#. 0: selectedEvent.id
#: src/routes/datacenter/replication/events/+page.svelte
+#: src/routes/datacenter/replication/events/+page.svelte
msgid "Event #{0}"
msgstr "事件 #{0}"
@@ -3263,9 +3718,11 @@ msgstr "输出已复制到剪贴板"
#: src/routes/datacenter/replication/events/+page.svelte
msgid "Failed to copy output"
-msgstr "输出复制失败"
+msgstr "复制输出失败"
#: src/routes/datacenter/replication/events/+page.svelte
+#: src/routes/datacenter/replication/events/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Policy"
msgstr "策略"
@@ -3273,6 +3730,8 @@ msgstr "策略"
#: src/lib/components/custom/DataCenter/Replication/Activity.svelte
#: src/routes/datacenter/replication/events/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Workload"
msgstr "工作负载"
@@ -3280,6 +3739,7 @@ msgstr "工作负载"
#: src/lib/components/custom/DataCenter/Replication/Activity.svelte
#: src/routes/[node]/storage/samba/audit-logs/+page.svelte
#: src/routes/datacenter/replication/events/+page.svelte
+#: src/routes/datacenter/replication/events/+page.svelte
msgid "Path"
msgstr "路径"
@@ -3297,6 +3757,7 @@ msgstr "已完成"
#. 0: receipt.policyId
#: src/lib/components/custom/DataCenter/Replication/Activity.svelte
#: src/routes/datacenter/replication/events/+page.svelte
+#: src/routes/datacenter/replication/events/+page.svelte
msgid "Policy {0}"
msgstr "策略 {0}"
@@ -3306,11 +3767,11 @@ msgstr "输出"
#: src/routes/datacenter/replication/events/+page.svelte
msgid "Target Receipts"
-msgstr "目标凭证"
+msgstr "目标回执"
#: src/routes/datacenter/replication/events/+page.svelte
msgid "No target-side receipts yet."
-msgstr "尚无目标凭证。"
+msgstr "尚无目标端回执。"
#: src/routes/datacenter/replication/events/+page.svelte
msgid "Last Attempt"
@@ -3334,142 +3795,144 @@ msgstr "事件输出 - {0}"
msgid "Event Error - {0}"
msgstr "事件错误 - {0}"
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Safe move"
msgstr "安全移动"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Move service cleanly to another node."
-msgstr "将服务安全迁移到另一节点。"
+msgstr "将服务干净地移动到另一个节点。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Current active node is demoted and data is synced before promotion."
-msgstr "当前活动节点已降级,但数据在提升前已同步。"
+msgstr "当前的活动节点将被降级,并且在升级之前会进行数据同步。"
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Force recovery"
msgstr "强制恢复"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Recover quickly when current active node is unreachable."
-msgstr "在当前活动节点不可达时快速恢复。"
+msgstr "当当前活动节点无法访问时快速恢复。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "May lose the newest writes that never reached other nodes."
-msgstr "可能会丢失尚未同步到其他节点的最新写入。"
+msgstr "可能会丢失尚未到达其他节点的最新写入。"
#: src/routes/datacenter/replication/policies/+page.svelte
-msgid ""
-"Safe move is unavailable because the current active node appears down. Use "
-"Force recovery."
+msgid "Safe move is unavailable because the current active node appears down. Use Force recovery."
msgstr "由于当前的活动节点似乎已宕机,安全移动不可用。请使用强制恢复。"
#: src/routes/datacenter/replication/policies/+page.svelte
-msgid ""
-"Force recovery requires data-loss acknowledgement before you can continue."
-msgstr "强制恢复需要确认可能的数据丢失后才能继续。"
+msgid "Force recovery requires data-loss acknowledgement before you can continue."
+msgstr "强制恢复需要您在继续之前确认数据丢失。"
#. 0: FORCE_RECOVERY_CONFIRM_TEXT
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Type {0} to confirm Force recovery."
msgstr "输入 {0} 以确认强制恢复。"
+#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Replication HA requires at least 3 configured Raft voters."
-msgstr "复制高可用性需要至少 3 个已配置的 Raft 投票节点。"
+msgstr "复制 HA 需要至少 3 个已配置 Raft 投票者。"
+#~ msgid "This policy needs at least two distinct target servers."
+#~ msgstr "此策略需要至少两个不同的目标服务器。"
+
+#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "At least one target must be different from the effective runner node."
-msgstr "至少有一个目标必须与有效运行节点不同。"
+msgstr "至少一个目标必须与实际运行节点不同。"
#: src/routes/datacenter/replication/policies/+page.svelte
-msgid ""
-"This move would leave no remote target for replication; adjust targets first."
-msgstr "此移动将导致复制缺少远程目标;请先调整目标。"
+msgid "This move would leave no remote target for replication; adjust targets first."
+msgstr "此移动将导致没有远程目标用于复制;请先调整目标。"
#: src/routes/datacenter/replication/policies/+page.svelte
-msgid ""
-"Cluster quorum is unavailable. Bring quorum back before running this action."
-msgstr "集群仲裁不可用。请恢复仲裁后再执行此操作。"
+msgid "Cluster quorum is unavailable. Bring quorum back before running this action."
+msgstr "集群法定人数不可用。请在运行此操作之前恢复法定人数。"
#: src/routes/datacenter/replication/policies/+page.svelte
-msgid ""
-"A move is already running for this policy. Wait for it to finish and try "
-"again."
-msgstr "此策略的移动操作已在进行中。请等待其完成后重试。"
+msgid "A move is already running for this policy. Wait for it to finish and try again."
+msgstr "此策略已在运行移动操作。请等待其完成后重试。"
#: src/routes/datacenter/replication/policies/+page.svelte
-msgid ""
-"Safe move needs the current active node online. Use Force recovery only if "
-"the node is down."
-msgstr "安全移动需要当前活动节点在线。仅在节点宕机时使用强制恢复。"
+msgid "Safe move needs the current active node online. Use Force recovery only if the node is down."
+msgstr "安全移动需要当前活动节点在线。仅在节点宕机时才使用强制恢复。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Force recovery needs data-loss confirmation before starting."
-msgstr "强制恢复在开始前需要确认可能的数据丢失。"
+msgstr "强制恢复需要在开始前确认数据丢失。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "The selected target server is not in this policy's target list."
-msgstr "所选目标服务器不在此策略的目标列表中。"
+msgstr "所选目标服务器不在该策略的目标列表中。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "The selected target server is offline. Choose an online target."
-msgstr "所选目标服务器已离线。请选择在线目标。"
+msgstr "所选目标服务器离线。请选择一个在线目标。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "No healthy target server is available for this policy right now."
-msgstr "此策略当前没有可用的健康目标服务器。"
+msgstr "该策略目前没有可用的健康目标服务器。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "The target server must be different from the current active server."
msgstr "目标服务器必须与当前活动服务器不同。"
#: src/routes/datacenter/replication/policies/+page.svelte
-msgid ""
-"Force recovery requires cluster quorum. Bring enough nodes online and try "
-"again."
-msgstr "强制恢复需要集群仲裁。请使足够的节点上线后再重试。"
+msgid "Force recovery requires cluster quorum. Bring enough nodes online and try again."
+msgstr "强制恢复需要集群法定人数。请将足够的节点联机后重试。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "This node is no longer cluster leader. Retry in a few seconds."
-msgstr "此节点不再是集群领导节点,请几秒后重试。"
+msgstr "此节点不再是集群领导者。请在几秒钟后重试。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Could not start failover. Check cluster status and try again."
-msgstr "无法启动故障转移。请检查集群状态后重试。"
+msgstr "无法启动故障转移。请检查集群状态并重试。"
+
+#~ msgid "Add at least two distinct target servers."
+#~ msgstr "添加至少两个不同的目标服务器。"
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Cluster quorum is unavailable. Retry after quorum is restored."
-msgstr "集群仲裁不可用,请在仲裁恢复后重试。"
+msgstr "集群法定人数不可用。请在法定人数恢复后重试。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Failed to update policy"
-msgstr "策略更新失败"
+msgstr "更新策略失败"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Failed to create policy"
-msgstr "策略创建失败"
+msgstr "创建策略失败"
#: src/routes/datacenter/replication/policies/+page.svelte
-msgid ""
-"This policy needs at least one remote target from its effective runner node."
-msgstr "此策略至少需要一个来自其有效运行节点的远程目标。"
+msgid "This policy needs at least one remote target from its effective runner node."
+msgstr "此策略需要其运行节点之外的至少一个远程目标。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "This move would leave no remote target for replication."
-msgstr "此移动将导致复制没有远程目标。"
+msgstr "此移动将导致没有远程目标用于复制。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Cluster quorum is unavailable."
-msgstr "集群仲裁不可用。"
+msgstr "集群法定人数不可用。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "This policy is currently blocked by HA constraints."
-msgstr "此策略当前受高可用性约束阻塞"
+msgstr "此策略当前受 HA 约束限制而受阻。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Stay with whichever node is currently active"
-msgstr "保持在当前活动的节点"
+msgstr "留在当前活动的节点上"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "After any move, this new active node becomes the new source."
@@ -3513,7 +3976,7 @@ msgstr "自动强制恢复"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Automatically recover even when clean handoff is impossible."
-msgstr "即使无法进行安全交接,也自动恢复。"
+msgstr "即使无法进行干净的交接也自动恢复。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Fastest recovery, but newest writes may be lost."
@@ -3521,6 +3984,7 @@ msgstr "恢复速度最快,但最新的写入可能会丢失。"
#: src/lib/components/custom/DataCenter/Replication/Activity.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Failover"
msgstr "故障转移"
@@ -3544,17 +4008,28 @@ msgstr "检查"
#: src/lib/components/custom/VM/Create/Advanced.svelte
#: src/lib/components/custom/VM/Create/CreateVM.svelte
#: src/lib/components/custom/VM/Create/Network.svelte
+#: src/lib/components/custom/VM/Create/Network.svelte
#: src/lib/components/custom/VM/Create/Storage.svelte
#: src/lib/components/custom/VM/Options/BootRom.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
+#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/Jobs.svelte
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
+#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
+#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
#: src/routes/[node]/vm/[rid]/options/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
msgid "None"
msgstr "无"
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Preferred primary node"
msgstr "首选主节点"
@@ -3589,14 +4064,19 @@ msgstr "手动移回"
#: src/routes/[node]/network/dhcp/ranges/+page.svelte
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
#: src/routes/[node]/settings/authentication/users/+page.svelte
+#: src/routes/[node]/settings/authentication/users/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Never"
msgstr "从不"
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Stale"
msgstr "过期"
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Auto-pick the best target from policy priority"
msgstr "根据策略优先级自动挑选最佳目标"
@@ -3605,6 +4085,8 @@ msgstr "根据策略优先级自动挑选最佳目标"
msgid "No online target server is currently available for this policy."
msgstr "此策略当前没有可用的在线目标服务器。"
+#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Blocked"
msgstr "已受阻"
@@ -3619,12 +4101,14 @@ msgstr "行为"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "HA State"
-msgstr "高可用性状态"
+msgstr "HA 状态"
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Degraded"
msgstr "降级"
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Eligible"
msgstr "符合条件"
@@ -3639,19 +4123,20 @@ msgstr "下次运行"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "You cannot add more targets than available cluster nodes."
-msgstr "所添加的目标不能超过可用的集群节点数量。"
+msgstr "您添加的目标不能超过可用的集群节点数量。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Each target server can be added only once."
msgstr "每个目标服务器只能添加一次。"
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Add at least one target server."
msgstr "添加至少一个目标服务器。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Give this policy a name."
-msgstr "请命名该策略。"
+msgstr "为该策略命名。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Description is too long. Keep it within 1024 characters."
@@ -3661,17 +4146,20 @@ msgstr "描述太长。请保持在 1024 个字符以内。"
msgid "Choose the VM or jail to protect."
msgstr "选择要保护的虚拟机或 Jail。"
+#~ msgid "Add at least two distinct target servers for HA."
+#~ msgstr "为 HA 添加至少两个不同的目标服务器。"
+
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Pick the preferred primary node for this policy."
msgstr "为此策略选择首选主节点。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "At least one target must be a remote node from the effective runner."
-msgstr "必须至少有一个目标是有效运行节点的远程节点。"
+msgstr "至少一个目标必须是运行节点之外的远程节点。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Confirm the risk before enabling automatic force recovery."
-msgstr "在启用自动强制恢复前,请确认风险。"
+msgstr "在启用自动强制恢复之前确认风险。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Policy updated"
@@ -3687,7 +4175,7 @@ msgstr "策略已删除"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Failed to delete policy"
-msgstr "策略删除失败"
+msgstr "删除策略失败"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Replication run queued"
@@ -3735,7 +4223,7 @@ msgstr "保护"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Virtual machine (VM)"
-msgstr "虚拟机"
+msgstr "虚拟机 (VM)"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Jail (container)"
@@ -3767,7 +4255,7 @@ msgstr "选择应自动发生的情况。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "I understand automatic force recovery can lose the newest writes."
-msgstr "我明白自动强制恢复可能会丢失最新写入。"
+msgstr "我理解自动强制恢复可能会丢失最新的写入。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Target servers"
@@ -3775,7 +4263,7 @@ msgstr "目标服务器"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Higher priority gets picked first when auto-selecting a target."
-msgstr "在自动选择目标时,会优先选择优先级较高的目标。"
+msgstr "自动选择目标时,优先级越高越先被选中。"
#. 0: policyModal.targets.length; 1: maxTargetRows
#: src/routes/datacenter/replication/policies/+page.svelte
@@ -3799,6 +4287,9 @@ msgstr "选择目标"
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Priority"
msgstr "优先级"
@@ -3808,10 +4299,8 @@ msgid "Normal source behavior"
msgstr "正常源行为"
#: src/routes/datacenter/replication/policies/+page.svelte
-msgid ""
-"Choose whether the source follows the active node or stays pinned to one "
-"preferred node."
-msgstr "选择源是跟随活动节点还是固定在首选节点。"
+msgid "Choose whether the source follows the active node or stays pinned to one preferred node."
+msgstr "选择源是跟随活动节点还是固定在某个首选节点。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "When preferred primary comes back"
@@ -3852,29 +4341,79 @@ msgstr "源模式"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Failback"
-msgstr "故障转移"
+msgstr "故障恢复"
#: src/lib/components/custom/Jail/Template/View.svelte
+#: src/lib/components/custom/Jail/Template/View.svelte
+#: src/lib/components/custom/Jail/Template/View.svelte
+#: src/lib/components/custom/Jail/Template/View.svelte
+#: src/lib/components/custom/ZFS/pools/Create.svelte
+#: src/lib/components/custom/ZFS/pools/Create.svelte
+#: src/lib/components/custom/ZFS/pools/Create.svelte
#: src/lib/components/custom/ZFS/pools/Create.svelte
#: src/lib/components/custom/ZFS/pools/Edit.svelte
+#: src/lib/components/custom/ZFS/pools/Edit.svelte
+#: src/lib/components/custom/ZFS/pools/Edit.svelte
+#: src/lib/components/custom/ZFS/pools/Edit.svelte
#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[node]/options/+page.svelte
#: src/routes/[node]/jail/[node]/options/+page.svelte
#: src/routes/[node]/network/dhcp/config/+page.svelte
#: src/routes/[node]/storage/samba/settings/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
#: src/routes/[node]/vm/[rid]/options/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Yes"
msgstr "是"
#: src/lib/components/custom/Jail/Template/View.svelte
+#: src/lib/components/custom/Jail/Template/View.svelte
+#: src/lib/components/custom/Jail/Template/View.svelte
+#: src/lib/components/custom/Jail/Template/View.svelte
+#: src/lib/components/custom/ZFS/pools/Create.svelte
+#: src/lib/components/custom/ZFS/pools/Create.svelte
+#: src/lib/components/custom/ZFS/pools/Create.svelte
#: src/lib/components/custom/ZFS/pools/Create.svelte
#: src/lib/components/custom/ZFS/pools/Edit.svelte
+#: src/lib/components/custom/ZFS/pools/Edit.svelte
+#: src/lib/components/custom/ZFS/pools/Edit.svelte
+#: src/lib/components/custom/ZFS/pools/Edit.svelte
#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[node]/options/+page.svelte
#: src/routes/[node]/jail/[node]/options/+page.svelte
#: src/routes/[node]/network/dhcp/config/+page.svelte
#: src/routes/[node]/storage/samba/settings/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
+#: src/routes/[node]/storage/samba/settings/+page.svelte
#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
#: src/routes/[node]/vm/[rid]/options/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "No"
@@ -3898,16 +4437,14 @@ msgstr "选择如何移动策略 <0/>。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Safe move is unavailable because the current active node appears down."
-msgstr "由于当前活动节点疑似宕机,安全移动不可用。"
+msgstr "由于当前的活动节点似乎已宕机,安全移动不可用。"
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "Move type"
msgstr "移动类型"
#: src/routes/datacenter/replication/policies/+page.svelte
-msgid ""
-"Use Safe move when possible. Use Force recovery only for hard-down owner "
-"scenarios."
+msgid "Use Safe move when possible. Use Force recovery only for hard-down owner scenarios."
msgstr "尽可能使用安全移动。仅在所有者硬关机的情况下使用强制恢复。"
#: src/routes/datacenter/replication/policies/+page.svelte
@@ -3915,15 +4452,12 @@ msgid "Move to (optional)"
msgstr "移动到(可选)"
#: src/routes/datacenter/replication/policies/+page.svelte
-msgid ""
-"Also set this target as the new preferred primary (prevents bounce-back)"
-msgstr "同时将此目标设置为新的首选主节点(防止回弹)"
+msgid "Also set this target as the new preferred primary (prevents bounce-back)"
+msgstr "同时将此目标设置为新的首选主节点(防止弹回)"
#: src/routes/datacenter/replication/policies/+page.svelte
-msgid ""
-"I understand Force recovery may lose the newest writes from the old active "
-"node."
-msgstr "我明白强制恢复可能会丢失旧活动节点上的最新写入。"
+msgid "I understand Force recovery may lose the newest writes from the old active node."
+msgstr "我理解强制恢复可能会丢失旧活动节点的最新写入。"
#. 0: FORCE_RECOVERY_CONFIRM_TEXT
#: src/routes/datacenter/replication/policies/+page.svelte
@@ -3934,25 +4468,26 @@ msgstr "输入 {0} 以继续"
msgid "Requesting"
msgstr "正在请求"
+#: src/lib/components/custom/Cluster/Storage/Create.svelte
#: src/lib/components/custom/Cluster/Storage/Create.svelte
msgid "Missing required fields"
msgstr "缺少必填字段"
#: src/lib/components/custom/Cluster/Storage/Create.svelte
msgid "Failed to create S3 storage"
-msgstr "S3 存储创建失败"
+msgstr "创建 S3 存储失败"
#: src/lib/components/custom/Cluster/Storage/Create.svelte
msgid "S3 storage created"
-msgstr "S3 存储创建成功"
+msgstr "S3 存储已创建"
#: src/lib/components/custom/Cluster/Storage/Create.svelte
msgid "Failed to create Directory storage"
-msgstr "目录存储创建失败"
+msgstr "创建目录存储失败"
#: src/lib/components/custom/Cluster/Storage/Create.svelte
msgid "Directory storage created"
-msgstr "目录存储创建成功"
+msgstr "目录存储已创建"
#: src/lib/components/custom/Cluster/Storage/Create.svelte
msgid "Please select a storage type"
@@ -4139,6 +4674,10 @@ msgstr "Linux (实验性)"
#: src/lib/components/custom/Jail/Options/AllowedOptions.svelte
#: src/lib/components/custom/Jail/Template/View.svelte
#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[node]/options/+page.svelte
+#: src/routes/[node]/jail/[node]/options/+page.svelte
#: src/routes/[node]/jail/[node]/options/+page.svelte
msgid "Allowed Options"
msgstr "允许的选项"
@@ -4156,6 +4695,10 @@ msgstr "清理环境"
#: src/lib/components/custom/Jail/Options/TextEdit.svelte
#: src/lib/components/custom/Jail/Template/View.svelte
#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[node]/options/+page.svelte
+#: src/routes/[node]/jail/[node]/options/+page.svelte
#: src/routes/[node]/jail/[node]/options/+page.svelte
msgid "Additional Options"
msgstr "附加选项"
@@ -4196,10 +4739,8 @@ msgstr "启用"
#. 0: phase.label
#: src/lib/components/custom/Jail/Create/Advanced.svelte
-msgid ""
-"The above script will run during {0}, Ensure they are valid for the host or "
-"jail"
-msgstr "上述脚本将在 {0} 期间运行,请确保它们对主机或 jail 有效"
+msgid "The above script will run during {0}, Ensure they are valid for the host or jail"
+msgstr "以上脚本将在 {0} 期间运行,请确保它们对于主机或 Jail 是有效的。"
#: src/lib/components/custom/Jail/Create/Basic.svelte
#: src/lib/components/custom/VM/Create/Basic.svelte
@@ -4221,7 +4762,7 @@ msgstr "Jail ID"
#: src/lib/components/custom/Jail/Create/Basic.svelte
#: src/lib/components/custom/VM/Create/Basic.svelte
msgid "Optional description for this virtual machine"
-msgstr "关于虚拟机的可选描述"
+msgstr "此虚拟机的可选描述"
#: src/lib/components/custom/Jail/Create/CreateJail.svelte
#: src/lib/components/custom/Jail/Template/View.svelte
@@ -4230,12 +4771,23 @@ msgstr "关于虚拟机的可选描述"
msgid "Basic"
msgstr "基础"
+#~ msgid "Failed to create jail"
+#~ msgstr "创建 Jail 失败"
+
+#~ msgid "Invalid IPv4 gateway or address"
+#~ msgstr "无效的 IPv4 网关或地址"
+
+#~ msgid "Invalid IPv6 gateway or address"
+#~ msgstr "无效的 IPv6 网关或地址"
+
#. 0: data.name
#: src/lib/components/custom/Jail/Create/CreateJail.svelte
msgid "Jail {0} created"
msgstr "Jail {0} 已创建"
#: src/lib/components/custom/Jail/Create/CreateJail.svelte
+#: src/lib/components/custom/Jail/Create/CreateJail.svelte
+#: src/lib/components/custom/VM/Create/CreateVM.svelte
#: src/lib/components/custom/VM/Create/CreateVM.svelte
msgid "Minimize"
msgstr "最小化"
@@ -4253,6 +4805,7 @@ msgstr "内存大小"
#: src/lib/components/custom/Jail/Create/Hardware.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Boot Order"
msgstr "启动顺序"
@@ -4288,14 +4841,29 @@ msgid "Mac"
msgstr "MAC"
#: src/lib/components/custom/Jail/Create/Network.svelte
+#: src/lib/components/custom/Jail/Create/Network.svelte
+#: src/lib/components/custom/Network/DHCP/Lease/CreateOrEdit.svelte
#: src/lib/components/custom/Network/DHCP/Lease/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Routes/Form.svelte
+#: src/lib/components/custom/Network/Routes/Form.svelte
+#: src/lib/components/custom/Network/Routes/Form.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Host"
msgstr "主机"
@@ -4317,8 +4885,11 @@ msgstr "从主机继承网络"
#: src/lib/components/custom/Jail/Create/Network.svelte
#: src/lib/components/custom/VM/Create/Network.svelte
msgid "No network switch will be allocated now, you can add it later"
-msgstr "当前未分配网络交换机,您可以稍后再添加。"
+msgstr "目前不分配网络交换机,您可以稍后添加"
+#: src/lib/components/custom/Jail/Create/Network.svelte
+#: src/lib/components/custom/Jail/Create/Network.svelte
+#: src/lib/components/custom/Jail/Create/Network.svelte
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "Inherit"
msgstr "继承"
@@ -4328,6 +4899,8 @@ msgstr "继承"
msgid "IPv4 Network"
msgstr "IPv4 网络"
+#: src/lib/components/custom/Jail/Create/Network.svelte
+#: src/lib/components/custom/Jail/Create/Network.svelte
#: src/lib/components/custom/Jail/Create/Network.svelte
#: src/lib/components/custom/Jail/Network/Inherit.svelte
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
@@ -4344,6 +4917,7 @@ msgstr "IPv4 网络"
#: src/routes/[node]/network/firewall/traffic/+page.svelte
#: src/routes/[node]/network/routes/+page.svelte
#: src/routes/[node]/network/switches/standard/+page.svelte
+#: src/routes/[node]/network/switches/standard/+page.svelte
msgid "IPv4"
msgstr "IPv4"
@@ -4353,12 +4927,14 @@ msgstr "选择 IPv4"
#: src/lib/components/custom/Jail/Create/Network.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/routes/[node]/network/switches/standard/+page.svelte
msgid "IPv4 Gateway"
msgstr "IPv4 网关"
#: src/lib/components/custom/Jail/Create/Network.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/routes/[node]/network/switches/standard/+page.svelte
msgid "Select IPv4 Gateway"
msgstr "选择 IPv4 网关"
@@ -4368,6 +4944,8 @@ msgstr "选择 IPv4 网关"
msgid "IPv6 Network"
msgstr "IPv6 网络"
+#: src/lib/components/custom/Jail/Create/Network.svelte
+#: src/lib/components/custom/Jail/Create/Network.svelte
#: src/lib/components/custom/Jail/Create/Network.svelte
#: src/lib/components/custom/Jail/Network/Inherit.svelte
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
@@ -4384,6 +4962,7 @@ msgstr "IPv6 网络"
#: src/routes/[node]/network/firewall/traffic/+page.svelte
#: src/routes/[node]/network/routes/+page.svelte
#: src/routes/[node]/network/switches/standard/+page.svelte
+#: src/routes/[node]/network/switches/standard/+page.svelte
msgid "IPv6"
msgstr "IPv6"
@@ -4393,21 +4972,25 @@ msgstr "选择 IPv6"
#: src/lib/components/custom/Jail/Create/Network.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/routes/[node]/network/switches/standard/+page.svelte
msgid "IPv6 Gateway"
msgstr "IPv6 网关"
#: src/lib/components/custom/Jail/Create/Network.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/routes/[node]/network/switches/standard/+page.svelte
msgid "Select IPv6 Gateway"
msgstr "选择 IPv6 网关"
#: src/lib/components/custom/Jail/Create/Network.svelte
#: src/lib/components/custom/VM/Hardware/Network.svelte
+#: src/lib/components/custom/VM/Hardware/Network.svelte
msgid "Select MAC"
msgstr "选择 MAC"
+#: src/lib/components/custom/Jail/Create/Storage.svelte
#: src/lib/components/custom/Jail/Create/Storage.svelte
msgid "Simple Linux"
msgstr "简单 Linux"
@@ -4433,7 +5016,7 @@ msgstr "基础"
#: src/lib/components/custom/Jail/Create/Storage.svelte
msgid "Select base"
-msgstr "选择基本系统"
+msgstr "选择基础"
#: src/lib/components/custom/Jail/Create/Storage.svelte
msgid "FStab Additions"
@@ -4449,7 +5032,7 @@ msgstr "选择 FStab 选项"
#: src/lib/components/custom/Jail/Options/AllowedOptions.svelte
msgid "Failed to save allowed options"
-msgstr "允许的选项保存失败"
+msgstr "保存允许的选项失败"
#: src/lib/components/custom/Jail/Options/AllowedOptions.svelte
msgid "Allowed options saved"
@@ -4457,7 +5040,7 @@ msgstr "允许的选项已保存"
#: src/lib/components/custom/Jail/Options/LifecycleHooks.svelte
msgid "Failed to save lifecycle hooks"
-msgstr "生命周期钩子保存失败"
+msgstr "保存生命周期钩子失败"
#: src/lib/components/custom/Jail/Options/LifecycleHooks.svelte
msgid "Lifecycle hooks saved"
@@ -4465,30 +5048,34 @@ msgstr "生命周期钩子已保存"
#: src/lib/components/custom/Jail/Options/LifecycleHooks.svelte
#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[node]/options/+page.svelte
+#: src/routes/[node]/jail/[node]/options/+page.svelte
#: src/routes/[node]/jail/[node]/options/+page.svelte
msgid "Lifecycle Hooks"
msgstr "生命周期钩子"
#. 0: phase.label
#: src/lib/components/custom/Jail/Options/LifecycleHooks.svelte
-msgid ""
-"The above script will run during {0}, ensure they are valid for the host or "
-"jail"
+msgid "The above script will run during {0}, ensure they are valid for the host or jail"
msgstr "上述脚本将在 {0} 期间运行,请确保它们对宿主机或 jail 有效"
#: src/lib/components/custom/Jail/Options/StartOrder.svelte
#: src/lib/components/custom/VM/Options/StartOrder.svelte
msgid "Failed to modify start order"
-msgstr "启动顺序修改失败"
+msgstr "修改启动顺序失败"
#: src/lib/components/custom/Jail/Options/StartOrder.svelte
#: src/lib/components/custom/VM/Options/StartOrder.svelte
msgid "Modified start order"
-msgstr "启动顺序修改成功"
+msgstr "已修改启动顺序"
+#: src/lib/components/custom/Jail/Options/StartOrder.svelte
#: src/lib/components/custom/Jail/Options/StartOrder.svelte
#: src/lib/components/custom/VM/Options/ShutdownWaitTime.svelte
#: src/lib/components/custom/VM/Options/StartOrder.svelte
+#: src/lib/components/custom/VM/Options/StartOrder.svelte
msgid "Start Order"
msgstr "启动顺序"
@@ -4499,6 +5086,10 @@ msgstr "开机自启"
#: src/lib/components/custom/Jail/Options/TextEdit.svelte
#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[node]/options/+page.svelte
+#: src/routes/[node]/jail/[node]/options/+page.svelte
#: src/routes/[node]/jail/[node]/options/+page.svelte
msgid "FSTab Entries"
msgstr "FSTab 条目"
@@ -4509,6 +5100,10 @@ msgstr "管理此 Jail 的 fstab 条目"
#: src/lib/components/custom/Jail/Options/TextEdit.svelte
#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[node]/options/+page.svelte
+#: src/routes/[node]/jail/[node]/options/+page.svelte
#: src/routes/[node]/jail/[node]/options/+page.svelte
msgid "DevFS Ruleset"
msgstr "DevFS 规则集"
@@ -4524,6 +5119,10 @@ msgstr "管理此 Jail 的附加选项"
#: src/lib/components/custom/Jail/Options/TextEdit.svelte
#: src/lib/components/custom/VM/Options/CloudInit.svelte
#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[node]/options/+page.svelte
+#: src/routes/[node]/jail/[node]/options/+page.svelte
#: src/routes/[node]/jail/[node]/options/+page.svelte
msgid "Metadata"
msgstr "元数据"
@@ -4534,7 +5133,7 @@ msgstr "Meta 和 Env 键值对"
#: src/lib/components/custom/Jail/Options/TextEdit.svelte
msgid "Failed to save changes"
-msgstr "更改保存失败"
+msgstr "保存更改失败"
#: src/lib/components/custom/Jail/Options/TextEdit.svelte
msgid "Changes saved"
@@ -4574,7 +5173,7 @@ msgstr "CPU"
#: src/lib/components/custom/Jail/Hardware/RAM.svelte
#: src/lib/components/custom/VM/Hardware/RAM.svelte
msgid "Invalid RAM value"
-msgstr "RAM 值无效"
+msgstr "无效的 RAM 值"
#: src/lib/components/custom/Jail/Hardware/RAM.svelte
#: src/lib/components/custom/VM/Hardware/RAM.svelte
@@ -4584,12 +5183,12 @@ msgstr "RAM 值必须大于 0"
#: src/lib/components/custom/Jail/Hardware/RAM.svelte
#: src/lib/components/custom/VM/Hardware/RAM.svelte
msgid "RAM value exceeds available memory"
-msgstr "RAM 值超过了可用内存"
+msgstr "RAM 值超过可用内存"
#: src/lib/components/custom/Jail/Hardware/RAM.svelte
#: src/lib/components/custom/VM/Hardware/RAM.svelte
msgid "RAM value is too high, at least 1 GiB must be reserved for the host"
-msgstr "RAM 值过高,必须至少为宿主机预留 1 GiB 内存"
+msgstr "RAM 值过高,必须为宿主机预留至少 1 GiB"
#: src/lib/components/custom/Jail/Hardware/RAM.svelte
#: src/lib/components/custom/VM/Hardware/RAM.svelte
@@ -4611,22 +5210,26 @@ msgstr "未找到 Jail"
msgid "RAM"
msgstr "RAM"
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
msgid "Network name already exists"
msgstr "网络名称已存在"
#: src/lib/components/custom/Jail/Network/Form.svelte
+#: src/lib/components/custom/Jail/Network/Form.svelte
+#: src/lib/components/custom/VM/Hardware/Network.svelte
#: src/lib/components/custom/VM/Hardware/Network.svelte
msgid "Switch is required"
msgstr "交换机是必填项"
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
msgid "Default gateway already exists"
msgstr "默认网关已存在"
#: src/lib/components/custom/Jail/Network/Form.svelte
msgid "Failed to add network"
-msgstr "网络添加失败"
+msgstr "添加网络失败"
#: src/lib/components/custom/Jail/Network/Form.svelte
msgid "Network added successfully"
@@ -4634,7 +5237,7 @@ msgstr "网络添加成功"
#: src/lib/components/custom/Jail/Network/Form.svelte
msgid "Failed to update network"
-msgstr "网络更新失败"
+msgstr "更新网络失败"
#: src/lib/components/custom/Jail/Network/Form.svelte
msgid "Network updated successfully"
@@ -4654,13 +5257,16 @@ msgstr "编辑 - {0}"
msgid "New Network"
msgstr "新建网络"
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
msgid "Primary Network"
msgstr "主网络"
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
#: src/lib/components/custom/VM/Hardware/Network.svelte
+#: src/lib/components/custom/VM/Hardware/Network.svelte
#: src/routes/[node]/jail/[ctid]/network/+page.svelte
#: src/routes/[node]/jail/[node]/network/+page.svelte
#: src/routes/[node]/network/dhcp/leases/+page.svelte
@@ -4668,32 +5274,40 @@ msgstr "主网络"
msgid "Switch"
msgstr "交换机"
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
#: src/lib/components/custom/VM/Hardware/Network.svelte
+#: src/lib/components/custom/VM/Hardware/Network.svelte
msgid "Select Switch"
msgstr "选择交换机"
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
msgid "Select MAC Address"
msgstr "选择 MAC 地址"
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
msgid "IPv4 Address"
msgstr "IPv4 地址"
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
msgid "Select IPv4 Address"
msgstr "选择 IPv4 地址"
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
msgid "IPv6 Address"
msgstr "IPv6 地址"
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
msgid "Select IPv6 Address"
msgstr "选择 IPv6 地址"
+#: src/lib/components/custom/Jail/Network/Form.svelte
#: src/lib/components/custom/Jail/Network/Form.svelte
msgid "Default Gateway"
msgstr "默认网关"
@@ -4717,7 +5331,7 @@ msgstr "网络已继承"
#: src/lib/components/custom/Jail/Network/Inherit.svelte
msgid "Failed to inherit network"
-msgstr "网络继承失败"
+msgstr "继承网络失败"
#: src/lib/components/custom/Jail/Network/Inherit.svelte
msgid "Network disinherited"
@@ -4725,7 +5339,7 @@ msgstr "网络已取消继承"
#: src/lib/components/custom/Jail/Network/Inherit.svelte
msgid "Failed to disinherit network"
-msgstr "继承网络取消失败"
+msgstr "取消继承网络失败"
#: src/lib/components/custom/Jail/Network/Inherit.svelte
#: src/routes/[node]/jail/[ctid]/network/+page.svelte
@@ -4740,23 +5354,12 @@ msgid "Inherit Network"
msgstr "继承网络"
#: src/lib/components/custom/Jail/Network/Inherit.svelte
-msgid ""
-"This option will disinherit the network configuration from the host. Choose "
-"this if you want to attach a custom network switch to this jail or disable "
-"networking entirely. Changes will take effect after restarting the jail."
-msgstr ""
-"此选项将取消继承主机的网络配置。如果您想为此 jail 连接自定义网络交换机或完全"
-"禁用网络,请选择此项。更改将在重启 jail 后生效。"
+msgid "This option will disinherit the network configuration from the host. Choose this if you want to attach a custom network switch to this jail or disable networking entirely. Changes will take effect after restarting the jail."
+msgstr "此选项将取消从宿主机继承网络配置。如果您想为此 Jail 附加自定义网络交换机或完全禁用网络,请选择此项。更改将在重启 Jail 后生效。"
#: src/lib/components/custom/Jail/Network/Inherit.svelte
-msgid ""
-"This option will inherit the network configuration from the host. Choose "
-"this if you want the jail to share the host's networking. You can select "
-"which protocols to inherit below. Changes will take effect after restarting "
-"the jail."
-msgstr ""
-"此选项将继承主机的网络配置。如果您希望 jail 与主机共享网络,请选择此项。您可"
-"以在下方选择要继承的协议。更改将在重启 jail 后生效。"
+msgid "This option will inherit the network configuration from the host. Choose this if you want the jail to share the host's networking. You can select which protocols to inherit below. Changes will take effect after restarting the jail."
+msgstr "此选项将从宿主机继承网络配置。如果您希望 Jail 共享宿主机的网络,请选择此项。您可以在下方选择要继承的协议。更改将在重启 Jail 后生效。"
#: src/lib/components/custom/Jail/Network/Inherit.svelte
msgid "Disinherit"
@@ -4764,7 +5367,7 @@ msgstr "取消继承"
#: src/lib/components/custom/Network/DHCP/Config.svelte
msgid "Invalid domain"
-msgstr "域名无效"
+msgstr "无效域名"
#: src/lib/components/custom/Network/DHCP/Config.svelte
msgid "Invalid DNS server"
@@ -4776,7 +5379,7 @@ msgstr "更新 DHCP 配置时出错"
#: src/lib/components/custom/Network/DHCP/Config.svelte
msgid "Updated DHCP configuration"
-msgstr "DHCP 配置已更新"
+msgstr "已更新 DHCP 配置"
#: src/lib/components/custom/Network/DHCP/Config.svelte
msgid "Update DHCP Configuration"
@@ -4789,6 +5392,7 @@ msgstr "域名"
#: src/lib/components/custom/Network/DHCP/Config.svelte
#: src/routes/[node]/network/dhcp/config/+page.svelte
+#: src/routes/[node]/network/dhcp/config/+page.svelte
msgid "DNS Servers"
msgstr "DNS 服务器"
@@ -4828,25 +5432,25 @@ msgstr "必须至少选择一个 DUID"
#. 0: host
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "Invalid host IP: {0}"
-msgstr "主机 IP:{0} 无效"
+msgstr "无效的主机 IP:{0}"
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "Cannot mix IPv4 and IPv6 addresses"
-msgstr "IPv4 和 IPv6 地址不能混合 "
+msgstr "不能混合 IPv4 和 IPv6 地址"
#. 0: net
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "Invalid network CIDR: {0}"
-msgstr "无效网络 CIDR:{0}"
+msgstr "无效的网络 CIDR:{0}"
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "Cannot mix IPv4 and IPv6 networks"
-msgstr "IPv4 和 IPv6 网络不能混合"
+msgstr "不能混合 IPv4 和 IPv6 网络"
#. 0: mac
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "Invalid MAC address: {0}"
-msgstr "MAC 地址:{0} 无效"
+msgstr "无效的 MAC 地址:{0}"
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "DUID cannot be empty"
@@ -4859,8 +5463,9 @@ msgstr "无效的 DUID:{0}"
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "Failed to create network object"
-msgstr "网络对象创建失败"
+msgstr "创建网络对象失败"
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "Object with this name already exists"
msgstr "已存在同名对象"
@@ -4887,7 +5492,7 @@ msgstr "无法更改活动状态虚拟机的对象"
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "Failed to update network object"
-msgstr "网络对象更新失败"
+msgstr "更新网络对象失败"
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "Updated object"
@@ -4915,18 +5520,30 @@ msgstr "选择类型"
msgid "Hosts"
msgstr "主机"
+#~ msgid "Select hosts"
+#~ msgstr "选择主机"
+
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "Networks"
msgstr "网络"
+#~ msgid "Select networks"
+#~ msgstr "选择网络"
+
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "MACs"
msgstr "MAC 地址"
+#~ msgid "Select MACs"
+#~ msgstr "选择 MAC 地址"
+
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "DUIDs"
msgstr "DUID"
+#~ msgid "Select DUIDs"
+#~ msgstr "选择 DUID"
+
#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
msgid "User Data is required"
msgstr "用户数据是必填项"
@@ -4943,13 +5560,14 @@ msgstr "模板 {0} {1}"
#. 0: isEdit ? 'update' \\: 'create'; 1: properties.name
#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
msgid "Failed to {0} template {1}"
-msgstr "{0} 模板 {1} 失败"
+msgstr "{0}模板 {1} 失败"
#. 0: template?.name
#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
msgid "Edit Template - {0}"
msgstr "编辑模板 - {0}"
+#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
msgid "Create Template"
msgstr "创建模板"
@@ -4976,19 +5594,24 @@ msgid "Network Config"
msgstr "网络配置"
#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
+#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
+#: src/lib/components/custom/VM/Create/Advanced.svelte
#: src/lib/components/custom/VM/Create/Advanced.svelte
msgid "Select a Template"
msgstr "选择模板"
+#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
+#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
+#: src/lib/components/custom/ZFS/datasets/snapshots/Retention.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/Retention.svelte
msgid "Simple"
msgstr "简单"
#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
msgid "FreeBSD with Static IP"
-msgstr "使用静态 IP 的 FreeBSD"
+msgstr "带有静态 IP 的 FreeBSD"
#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
msgid "FreeBSD Network Config"
@@ -4996,12 +5619,13 @@ msgstr "FreeBSD 网络配置"
#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
msgid "Debian with Static IP"
-msgstr "使用静态 IP 的 Debian"
+msgstr "带有静态 IP 的 Debian"
#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
msgid "Debian Network Config"
msgstr "Debian 网络配置"
+#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
#: src/lib/components/custom/Utilities/Cloud-Init/Form.svelte
msgid "Docker"
msgstr "Docker"
@@ -5038,6 +5662,10 @@ msgstr "选择 VNC 分辨率"
#: src/lib/components/custom/VM/Create/Advanced.svelte
#: src/lib/components/custom/VM/Options/Clock.svelte
#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
#: src/routes/[node]/vm/[rid]/options/+page.svelte
msgid "Clock Offset"
msgstr "时钟偏移"
@@ -5053,6 +5681,10 @@ msgstr "启动/停止顺序"
#: src/lib/components/custom/VM/Create/Advanced.svelte
#: src/lib/components/custom/VM/Options/Serial.svelte
#: src/routes/[node]/vm/[node]/hardware/+page.svelte
+#: src/routes/[node]/vm/[node]/hardware/+page.svelte
+#: src/routes/[node]/vm/[node]/hardware/+page.svelte
+#: src/routes/[node]/vm/[rid]/hardware/+page.svelte
+#: src/routes/[node]/vm/[rid]/hardware/+page.svelte
#: src/routes/[node]/vm/[rid]/hardware/+page.svelte
msgid "Serial Console"
msgstr "串口控制台"
@@ -5064,6 +5696,10 @@ msgstr "VNC 等待"
#: src/lib/components/custom/VM/Create/Advanced.svelte
#: src/lib/components/custom/VM/Hardware/TPM.svelte
#: src/routes/[node]/vm/[node]/hardware/+page.svelte
+#: src/routes/[node]/vm/[node]/hardware/+page.svelte
+#: src/routes/[node]/vm/[node]/hardware/+page.svelte
+#: src/routes/[node]/vm/[rid]/hardware/+page.svelte
+#: src/routes/[node]/vm/[rid]/hardware/+page.svelte
#: src/routes/[node]/vm/[rid]/hardware/+page.svelte
msgid "TPM Emulation"
msgstr "TPM 模拟"
@@ -5078,6 +5714,10 @@ msgstr "忽略未实现的 MSR 访问"
#: src/lib/components/custom/VM/Options/QemuGuestAgent.svelte
#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
#: src/routes/[node]/vm/[rid]/options/+page.svelte
msgid "QEMU Guest Agent"
msgstr "QEMU Guest Agent"
@@ -5107,6 +5747,10 @@ msgstr "虚拟机名称"
msgid "Created VM {0}"
msgstr "已创建虚拟机 {0}"
+#~ msgid "Failed to create VM"
+#~ msgstr "创建虚拟机失败"
+
+#: src/lib/components/custom/VM/Create/CreateVM.svelte
#: src/lib/components/custom/VM/Create/CreateVM.svelte
msgid "Create Virtual Machine"
msgstr "创建虚拟机"
@@ -5122,6 +5766,7 @@ msgstr "CPU 线程"
#: src/lib/components/custom/VM/Create/Network.svelte
#: src/lib/components/custom/VM/Create/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Network.svelte
+#: src/lib/components/custom/VM/Hardware/Network.svelte
#: src/routes/[node]/vm/[node]/network/+page.svelte
#: src/routes/[node]/vm/[rid]/network/+page.svelte
msgid "VirtIO"
@@ -5159,7 +5804,7 @@ msgstr "无存储"
#: src/lib/components/custom/VM/Create/Storage.svelte
msgid "No storage will be allocated for this virtual machine"
-msgstr "将不会为此虚拟机分配存储。"
+msgstr "不会为此虚拟机分配任何存储"
#: src/lib/components/custom/VM/Create/Storage.svelte
msgid "Storage Pool"
@@ -5206,6 +5851,7 @@ msgstr "核心"
msgid "Threads"
msgstr "线程"
+#: src/lib/components/custom/VM/Hardware/Network.svelte
#: src/lib/components/custom/VM/Hardware/Network.svelte
msgid "Emulation is required"
msgstr "必须选择仿真"
@@ -5227,6 +5873,9 @@ msgid "VM network updated"
msgstr "虚拟机网络已更新"
#: src/lib/components/custom/VM/Hardware/Network.svelte
+#: src/lib/components/custom/VM/Hardware/Network.svelte
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/routes/[node]/vm/[node]/network/+page.svelte
#: src/routes/[node]/vm/[rid]/network/+page.svelte
@@ -5234,6 +5883,8 @@ msgid "Emulation"
msgstr "仿真"
#: src/lib/components/custom/VM/Hardware/Network.svelte
+#: src/lib/components/custom/VM/Hardware/Network.svelte
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Select Emulation"
msgstr "选择模拟"
@@ -5248,6 +5899,12 @@ msgstr "PCI 设备已修改"
#: src/lib/components/custom/VM/Hardware/PCIDevices.svelte
#: src/routes/[node]/vm/[node]/hardware/+page.svelte
+#: src/routes/[node]/vm/[node]/hardware/+page.svelte
+#: src/routes/[node]/vm/[node]/hardware/+page.svelte
+#: src/routes/[node]/vm/[node]/hardware/+page.svelte
+#: src/routes/[node]/vm/[rid]/hardware/+page.svelte
+#: src/routes/[node]/vm/[rid]/hardware/+page.svelte
+#: src/routes/[node]/vm/[rid]/hardware/+page.svelte
#: src/routes/[node]/vm/[rid]/hardware/+page.svelte
msgid "PCI Devices"
msgstr "PCI 设备"
@@ -5256,6 +5913,7 @@ msgstr "PCI 设备"
msgid "Select PCI Devices"
msgstr "选择 PCI 设备"
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Invalid storage name"
msgstr "存储名称无效"
@@ -5264,10 +5922,12 @@ msgstr "存储名称无效"
msgid "No ZFS pool selected"
msgstr "未选择 ZFS 池"
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Please specify a boot order"
msgstr "请指定启动顺序"
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Boot order already in use"
msgstr "启动顺序已被占用"
@@ -5284,14 +5944,29 @@ msgstr "找不到磁盘"
msgid "Please select a ZFS Volume"
msgstr "请选择 ZFS 卷"
+#~ msgid "Failed to import disk"
+#~ msgstr "导入磁盘失败"
+
+#~ msgid "Disk imported"
+#~ msgstr "磁盘已导入"
+
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Please specify a size"
msgstr "请指定大小"
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Invalid size format"
msgstr "大小格式无效"
+#~ msgid "Failed to attach disk"
+#~ msgstr "连接磁盘失败"
+
+#~ msgid "Disk attached"
+#~ msgstr "磁盘已连接"
+
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "New size cannot be smaller than current size"
msgstr "新大小不能小于当前大小"
@@ -5308,6 +5983,7 @@ msgstr "存储已更新"
msgid "New Storage"
msgstr "新建存储"
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "DB Storage"
msgstr "数据库存储"
@@ -5333,6 +6009,12 @@ msgstr "映像"
msgid "Select Pool"
msgstr "选择池"
+#~ msgid "ISO Image"
+#~ msgstr "ISO 映像"
+
+#~ msgid "Select ISO Image"
+#~ msgstr "选择 ISO 映像"
+
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Raw Disk Path"
msgstr "原始磁盘路径"
@@ -5341,10 +6023,12 @@ msgstr "原始磁盘路径"
msgid "Select ZFS Volume"
msgstr "选择 ZFS 卷"
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "AHCI Hard Disk"
msgstr "AHCI 硬盘"
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "VirtIO Block"
msgstr "VirtIO 块设备"
@@ -5356,21 +6040,16 @@ msgstr "连接存储"
#. 0: tpmEmulation ? 'enable' \\: 'disable'
#: src/lib/components/custom/VM/Hardware/TPM.svelte
msgid "Failed to {0} TPM emulation"
-msgstr "{0} TPM 模拟失败"
+msgstr "无法{0}TPM模拟"
#. 0: tpmEmulation ? 'enabled' \\: 'disabled'
#: src/lib/components/custom/VM/Hardware/TPM.svelte
msgid "TPM emulation {0}"
-msgstr "TPM 模拟 {0}"
+msgstr "TPM模拟{0}"
#: src/lib/components/custom/VM/Hardware/TPM.svelte
-msgid ""
-"Enable or disable TPM (Trusted Platform Module) emulation for this virtual "
-"machine. Disabling this option after it has been enabled may lead to boot "
-"issues if the guest OS relies on TPM functionality."
-msgstr ""
-"为此虚拟机启用或禁用 TPM(受信任平台模块)模拟。如果在启用后禁用此选项,且客"
-"户操作系统依赖 TPM 功能,可能导致启动问题。"
+msgid "Enable or disable TPM (Trusted Platform Module) emulation for this virtual machine. Disabling this option after it has been enabled may lead to boot issues if the guest OS relies on TPM functionality."
+msgstr "为此虚拟机启用或禁用 TPM(受信任的平台模块)模拟。如果客体操作系统依赖 TPM 功能,在启用后禁用此选项可能会导致启动问题。"
#: src/lib/components/custom/Network/WireGuard/Server/PeerList.svelte
#: src/lib/components/custom/VM/Hardware/TPM.svelte
@@ -5419,12 +6098,14 @@ msgstr "等待 VNC"
#. 0: socketIndex
#. 0: socketIndex
#: src/lib/components/custom/VM/Extra/CPUSelector.svelte
+#: src/lib/components/custom/VM/Extra/CPUSelector.svelte
msgid "Socket {0}"
msgstr "插槽 {0}"
#. 0: coreSelectionLimit
#. 0: coreSelectionLimit
#: src/lib/components/custom/VM/Extra/CPUSelector.svelte
+#: src/lib/components/custom/VM/Extra/CPUSelector.svelte
msgid "You can only select up to {0} cores."
msgstr "您最多只能选择 {0} 个核心。"
@@ -5486,6 +6167,7 @@ msgstr "保存并返回插槽"
#: src/lib/components/custom/VM/Extra/CPUSelector.svelte
#: src/routes/[node]/network/dhcp/config/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
msgid "Update "
msgstr "更新 "
@@ -5497,11 +6179,13 @@ msgstr "应用 "
msgid "Core"
msgid_plural "Core #"
msgstr[0] "核心"
+msgstr[1] "核心"
#: src/lib/components/custom/VM/Extra/CPUSelector.svelte
msgid "Socket"
msgid_plural "Socket #"
msgstr[0] "插槽"
+msgstr[1] "插槽"
#: src/lib/components/custom/VM/Extra/CPUSelector.svelte
msgid "Clear All Pinning"
@@ -5524,9 +6208,8 @@ msgid "Offset"
msgstr "偏移"
#: src/lib/components/custom/VM/Options/CloudInit.svelte
-msgid ""
-"Either both user and meta data should be empty or both should be provided"
-msgstr "用户数据和元数据要么同时为空,要么同时非空。"
+msgid "Either both user and meta data should be empty or both should be provided"
+msgstr "用户数据和元数据应同时为空或同时提供"
#: src/lib/components/custom/VM/Options/CloudInit.svelte
msgid "Failed to modify Cloud Init data"
@@ -5538,6 +6221,10 @@ msgstr "已修改 Cloud Init 数据"
#: src/lib/components/custom/VM/Options/CloudInit.svelte
#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
#: src/routes/[node]/vm/[rid]/options/+page.svelte
msgid "Cloud Init"
msgstr "Cloud Init"
@@ -5556,83 +6243,70 @@ msgstr "Cloud Init 网络配置"
#: src/lib/components/custom/VM/Options/IgnoreUMSR.svelte
msgid "Failed to modify unimplemented MSRs access setting"
-msgstr "未实现的 MSR 访问设置修改失败"
+msgstr "修改未实现的 MSR 访问设置失败"
#: src/lib/components/custom/VM/Options/IgnoreUMSR.svelte
msgid "Modified unimplemented MSRs access setting"
-msgstr "未实现的 MSR 访问设置修改成功"
+msgstr "已修改未实现的 MSR 访问设置"
#: src/lib/components/custom/VM/Options/IgnoreUMSR.svelte
msgid "Ignore Unknown MSR Accesses"
msgstr "忽略未知的 MSR 访问"
#: src/lib/components/custom/VM/Options/IgnoreUMSR.svelte
-msgid ""
-"Enable this option to ignore accesses to unimplemented Model-Specific "
-"Registers (MSRs) by the VM. This can help prevent crashes or instability "
-"caused by such accesses, but may also lead to unexpected behavior if the "
-"guest OS relies on these MSRs."
-msgstr ""
-"启用此选项可让虚拟机忽略对未实现模型特定寄存器 (MSR) 的访问。这有助于防止因该"
-"类访问导致的崩溃或不稳定,但如果客户机操作系统依赖这些 MSR,也可能导致意外行"
-"为。"
+msgid "Enable this option to ignore accesses to unimplemented Model-Specific Registers (MSRs) by the VM. This can help prevent crashes or instability caused by such accesses, but may also lead to unexpected behavior if the guest OS relies on these MSRs."
+msgstr "启用此选项以让虚拟机忽略对未实现模型特定寄存器 (MSRs) 的访问。这有助于防止因该类访问导致的崩溃或不稳定,但如果客户机操作系统依赖这些 MSRs,也可能导致意外行为。"
#: src/lib/components/custom/VM/Options/QemuGuestAgent.svelte
msgid "Failed to modify QEMU Guest Agent setting"
-msgstr "QEMU 客户机代理设置修改失败"
+msgstr "修改 QEMU Guest Agent 设置失败"
#: src/lib/components/custom/VM/Options/QemuGuestAgent.svelte
msgid "Modified QEMU Guest Agent setting"
-msgstr "QEMU 客户机代理设置修改成功"
+msgstr "已修改 QEMU Guest Agent 设置"
#: src/lib/components/custom/VM/Options/QemuGuestAgent.svelte
-msgid ""
-"Enable this option to provide a QEMU Guest Agent channel via a virtio-"
-"console device. This improves guest integration for features like shutdown, "
-"status, and filesystem operations, when the guest agent is installed inside "
-"the VM."
-msgstr ""
-"启用此选项将通过 virtio-console 设备提供 QEMU 客户机代理通道。当虚拟机内安装"
-"了客户机代理时,这将改进关机、状态和文件系统操作等功能的集成。"
+msgid "Enable this option to provide a QEMU Guest Agent channel via a virtio-console device. This improves guest integration for features like shutdown, status, and filesystem operations, when the guest agent is installed inside the VM."
+msgstr "启用此选项以通过 virtio-console 设备提供 QEMU Guest Agent 通道。当虚拟机内部安装了 Guest Agent 时,这可以改善对关机、状态和文件系统操作等功能的集成。"
#: src/lib/components/custom/VM/Options/QemuGuestAgent.svelte
msgid "Enable QEMU Guest Agent"
-msgstr "启用 QEMU 客户机代理"
+msgstr "启用 QEMU Guest Agent"
#: src/lib/components/custom/VM/Options/Serial.svelte
msgid "Failed to modify serial console"
-msgstr "串口控制台修改失败"
+msgstr "修改串口控制台失败"
#: src/lib/components/custom/VM/Options/Serial.svelte
msgid "Modified serial console"
-msgstr "串口控制台修改成功"
+msgstr "已修改串口控制台"
#: src/lib/components/custom/VM/Options/Serial.svelte
-msgid ""
-"This VM currently has serial console access enabled. You can disable it "
-"using the button below."
+msgid "This VM currently has serial console access enabled. You can disable it using the button below."
msgstr "此虚拟机当前已启用串口控制台访问。您可以使用下面的按钮将其禁用。"
#: src/lib/components/custom/VM/Options/Serial.svelte
-msgid ""
-"This VM currently has serial console access disabled. You can enable it "
-"using the button below."
+msgid "This VM currently has serial console access disabled. You can enable it using the button below."
msgstr "此虚拟机当前已禁用串口控制台访问。您可以使用下面的按钮将其启用。"
#: src/lib/components/custom/VM/Options/ShutdownWaitTime.svelte
msgid "Shutdown Wait Time must be a non-negative number"
-msgstr "关机等待时间必须是非负数"
+msgstr "关机等待时间必须是一个非负数"
#: src/lib/components/custom/VM/Options/ShutdownWaitTime.svelte
msgid "Failed to modify shutdown wait time"
-msgstr "关机等待时间修改失败"
+msgstr "修改关机等待时间失败"
#: src/lib/components/custom/VM/Options/ShutdownWaitTime.svelte
msgid "Modified shutdown wait time"
-msgstr "关机等待时间修改成功"
+msgstr "已修改关机等待时间"
#: src/lib/components/custom/VM/Options/ShutdownWaitTime.svelte
#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
#: src/routes/[node]/vm/[rid]/options/+page.svelte
msgid "Shutdown Wait Time"
msgstr "关机等待时间"
@@ -5640,25 +6314,29 @@ msgstr "关机等待时间"
#: src/lib/components/custom/Jail/Options/WoL.svelte
#: src/lib/components/custom/VM/Options/WoL.svelte
msgid "Failed to modify WoL setting"
-msgstr "WoL 设置修改失败"
+msgstr "修改 WoL 设置失败"
#: src/lib/components/custom/Jail/Options/WoL.svelte
#: src/lib/components/custom/VM/Options/WoL.svelte
msgid "Modified WoL setting"
-msgstr "WoL 设置修改成功"
+msgstr "已修改 WoL 设置"
#: src/lib/components/custom/Jail/Options/WoL.svelte
#: src/lib/components/custom/VM/Options/WoL.svelte
#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
#: src/routes/[node]/vm/[rid]/options/+page.svelte
msgid "Wake on LAN"
msgstr "网络唤醒"
#: src/lib/components/custom/VM/Options/WoL.svelte
-msgid ""
-"Setting this option to be <0>on0> will enable Wake on LAN for this VM for "
-"all MAC addresses attached to it"
+msgid "Setting this option to be <0>on0> will enable Wake on LAN for this VM for all MAC addresses attached to it"
msgstr "将此选项设置为 <0>开启0> 将为该虚拟机关联的所有 MAC 地址启用网络唤醒"
#: src/lib/components/custom/Jail/Options/WoL.svelte
@@ -5672,7 +6350,7 @@ msgstr "访客信息"
#: src/lib/components/custom/VM/Summary/GuestAgent.svelte
msgid "Stale Cache"
-msgstr "过期缓存"
+msgstr "陈旧缓存"
#: src/lib/components/custom/VM/Summary/GuestAgent.svelte
msgid "OS Info"
@@ -5695,6 +6373,8 @@ msgid "Version ID"
msgstr "版本 ID"
#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Routes/Form.svelte
#: src/lib/components/custom/Network/Routes/Form.svelte
#: src/lib/components/custom/VM/Summary/GuestAgent.svelte
#: src/routes/[node]/network/firewall/logs/+page.svelte
@@ -5710,9 +6390,15 @@ msgstr "IP 地址"
msgid "RX / TX"
msgstr "RX / TX"
+#~ msgid "↓ {0}B"
+#~ msgstr "↓ {0}B"
+
+#~ msgid "↑ {0}B"
+#~ msgstr "↑ {0}B"
+
#: src/lib/components/custom/VM/Summary/GuestAgent.svelte
msgid "N/A"
-msgstr "不适用"
+msgstr "N/A"
#: src/lib/components/custom/VM/Summary/GuestAgent.svelte
msgid "No network interfaces reported by agent."
@@ -5752,7 +6438,7 @@ msgstr "至少需要一个包含磁盘的 VDEV"
#: src/lib/components/custom/ZFS/pools/Create.svelte
msgid "Spares must be larger than the largest disk in the pool"
-msgstr "备用盘必须大于存储池中最大的磁盘。"
+msgstr "热备盘必须大于存储池中最大的磁盘"
#: src/lib/components/custom/ZFS/pools/Create.svelte
msgid "A pool with this name already exists"
@@ -5765,9 +6451,15 @@ msgstr "存储池已创建"
#. 0: disk.device.split('/').pop(); 1: id + 1
#. 0: partition.name.split('/').pop(); 1: id + 1
#: src/lib/components/custom/ZFS/pools/Create.svelte
+#: src/lib/components/custom/ZFS/pools/Create.svelte
msgid "Remove {0} from VDEV {1}"
msgstr "从 VDEV {1} 中移除 {0}"
+#~ msgid "No available disks"
+#~ msgstr "没有可用的磁盘"
+
+#: src/lib/components/custom/ZFS/pools/Create.svelte
+#: src/lib/components/custom/ZFS/pools/Create.svelte
#: src/lib/components/custom/ZFS/pools/Create.svelte
#: src/routes/[node]/storage/disks/+page.svelte
msgid "Partitions"
@@ -6014,18 +6706,15 @@ msgstr "检测到错误{0}"
#: src/routes/[node]/jail/[ctid]/console/+page.svelte
#: src/routes/[node]/jail/[node]/console/+page.svelte
-msgid ""
-"The Jail is currently powered off.<0/> Start the Jail to access its console."
+msgid "The Jail is currently powered off.<0/> Start the Jail to access its console."
msgstr "该 Jail 当前处于关机状态。<0/> 启动该 Jail 以访问其控制台。"
#: src/routes/[node]/jail/[ctid]/console/+page.svelte
#: src/routes/[node]/jail/[node]/console/+page.svelte
#: src/routes/[node]/vm/[node]/console/+page.svelte
#: src/routes/[node]/vm/[rid]/console/+page.svelte
-msgid ""
-"The console has been disconnected.<0/> Click the \"Reconnect\" button to re-"
-"establish the connection."
-msgstr "控制台已断开连接。<0/> 点击“重新连接”按钮重新建立连接。"
+msgid "The console has been disconnected.<0/> Click the \"Reconnect\" button to re-establish the connection."
+msgstr "控制台已断开连接。<0/> 点击“重新连接”按钮以重新建立连接。"
#: src/routes/[node]/jail/[ctid]/console/+page.svelte
#: src/routes/[node]/jail/[node]/console/+page.svelte
@@ -6040,6 +6729,10 @@ msgid "Console Settings - {0}"
msgstr "控制台设置 - {0}"
#: src/routes/[node]/jail/[ctid]/hardware/+page.svelte
+#: src/routes/[node]/jail/[ctid]/hardware/+page.svelte
+#: src/routes/[node]/jail/[ctid]/hardware/+page.svelte
+#: src/routes/[node]/jail/[node]/hardware/+page.svelte
+#: src/routes/[node]/jail/[node]/hardware/+page.svelte
#: src/routes/[node]/jail/[node]/hardware/+page.svelte
msgid "Unlimited"
msgstr "无限制"
@@ -6061,25 +6754,20 @@ msgstr "启用资源限制以编辑"
#: src/routes/[node]/jail/[ctid]/hardware/+page.svelte
#: src/routes/[node]/jail/[node]/hardware/+page.svelte
-msgid ""
-"This will give unlimited resources to this jail, proceed with caution!"
-msgstr "这将为此 jail 提供无限资源,请谨慎!操作"
+msgid "This will give unlimited resources to this jail, proceed with caution!"
+msgstr "这将为此 Jail 提供无限资源,请谨慎操作!"
#: src/routes/[node]/jail/[ctid]/hardware/+page.svelte
#: src/routes/[node]/jail/[node]/hardware/+page.svelte
-msgid ""
-"This will enable resource limits for this jail, defaulting to 1 GB RAM"
-"b> and 1 vCPU, you can change this later"
-msgstr ""
-"这将为此 Jail 启用资源限制,默认值为 1 GB 内存 和 1 vCPU,您稍"
-"后可以更改此设置"
+msgid "This will enable resource limits for this jail, defaulting to 1 GB RAM and 1 vCPU, you can change this later"
+msgstr "这将为此 Jail 启用资源限制,默认值为 1 GB 内存 和 1 vCPU,您稍后可以更改此设置"
#. 0: adjective
#. 0: adjective
#: src/routes/[node]/jail/[ctid]/hardware/+page.svelte
#: src/routes/[node]/jail/[node]/hardware/+page.svelte
msgid "Failed to {0} resource limits"
-msgstr "资源 {0} 限制失败"
+msgstr "{0}资源限制失败"
#. 0: adjective
#. 0: adjective
@@ -6091,12 +6779,12 @@ msgstr "资源限制已{0}"
#: src/routes/[node]/jail/[ctid]/network/+page.svelte
#: src/routes/[node]/jail/[node]/network/+page.svelte
msgid "Failed to delete network"
-msgstr "网络删除失败"
+msgstr "删除网络失败"
#: src/routes/[node]/jail/[ctid]/network/+page.svelte
#: src/routes/[node]/jail/[node]/network/+page.svelte
msgid "Network deleted"
-msgstr "网络删除成功"
+msgstr "网络已删除"
#. 0: activeRow.switch
#. 0: activeRow.switch
@@ -6126,12 +6814,17 @@ msgstr "必须填写快照名称"
msgid "Snapshot created"
msgstr "快照已创建"
+#: src/lib/components/custom/ZFS/datasets/snapshots/Create.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/Create.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/Rollback.svelte
#: src/routes/[node]/jail/[ctid]/snapshots/+page.svelte
+#: src/routes/[node]/jail/[ctid]/snapshots/+page.svelte
+#: src/routes/[node]/jail/[node]/snapshots/+page.svelte
#: src/routes/[node]/jail/[node]/snapshots/+page.svelte
#: src/routes/[node]/vm/[node]/snapshots/+page.svelte
+#: src/routes/[node]/vm/[node]/snapshots/+page.svelte
+#: src/routes/[node]/vm/[rid]/snapshots/+page.svelte
#: src/routes/[node]/vm/[rid]/snapshots/+page.svelte
msgid "Failed to create snapshot"
msgstr "创建快照失败"
@@ -6144,8 +6837,12 @@ msgid "Snapshot rollback started"
msgstr "快照回滚已开始"
#: src/routes/[node]/jail/[ctid]/snapshots/+page.svelte
+#: src/routes/[node]/jail/[ctid]/snapshots/+page.svelte
+#: src/routes/[node]/jail/[node]/snapshots/+page.svelte
#: src/routes/[node]/jail/[node]/snapshots/+page.svelte
#: src/routes/[node]/vm/[node]/snapshots/+page.svelte
+#: src/routes/[node]/vm/[node]/snapshots/+page.svelte
+#: src/routes/[node]/vm/[rid]/snapshots/+page.svelte
#: src/routes/[node]/vm/[rid]/snapshots/+page.svelte
msgid "Failed to rollback snapshot"
msgstr "回滚快照失败"
@@ -6158,11 +6855,15 @@ msgid "Snapshot deleted"
msgstr "快照已删除"
#: src/routes/[node]/jail/[ctid]/snapshots/+page.svelte
+#: src/routes/[node]/jail/[ctid]/snapshots/+page.svelte
+#: src/routes/[node]/jail/[node]/snapshots/+page.svelte
#: src/routes/[node]/jail/[node]/snapshots/+page.svelte
#: src/routes/[node]/vm/[node]/snapshots/+page.svelte
+#: src/routes/[node]/vm/[node]/snapshots/+page.svelte
+#: src/routes/[node]/vm/[rid]/snapshots/+page.svelte
#: src/routes/[node]/vm/[rid]/snapshots/+page.svelte
msgid "Failed to delete snapshot"
-msgstr "快照删除失败"
+msgstr "删除快照失败"
#: src/routes/[node]/jail/[ctid]/snapshots/+page.svelte
#: src/routes/[node]/jail/[node]/snapshots/+page.svelte
@@ -6340,23 +7041,35 @@ msgstr "IP 地址"
msgid "Range"
msgstr "范围"
+#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
#: src/routes/[node]/network/dhcp/leases/+page.svelte
#: src/routes/[node]/network/dhcp/ranges/+page.svelte
msgid "Expiry"
msgstr "过期时间"
+#~ msgid "This action cannot be undone. This will permanently delete static DHCP lease for {0}"
+#~ msgstr "此操作无法撤销。这将永久删除 {0} 的静态 DHCP 租约。"
+
#: src/routes/[node]/network/dhcp/leases/+page.svelte
msgid "Failed to delete DHCP lease"
-msgstr "DHCP 租约删除失败"
+msgstr "删除 DHCP 租约失败"
#: src/routes/[node]/network/dhcp/leases/+page.svelte
msgid "DHCP lease deleted"
msgstr "DHCP 租约已删除"
#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[ctid]/options/+page.svelte
+#: src/routes/[node]/jail/[node]/options/+page.svelte
+#: src/routes/[node]/jail/[node]/options/+page.svelte
#: src/routes/[node]/jail/[node]/options/+page.svelte
#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
#: src/routes/[node]/vm/[rid]/options/+page.svelte
msgid "Start At Boot / Start Order"
msgstr "开机自启 / 启动顺序"
@@ -6377,14 +7090,12 @@ msgid "DHCP Range"
msgstr "DHCP 范围"
#: src/routes/[node]/network/dhcp/ranges/+page.svelte
-msgid ""
-"This action cannot be undone. This will permanently delete this DHCP range "
-"including all leases/options associated with it"
-msgstr "此操作无法撤销。将永久删除该 DHCP 范围及其所有相关的租约/选项"
+msgid "This action cannot be undone. This will permanently delete this DHCP range including all leases/options associated with it"
+msgstr "此操作无法撤销。这将永久删除此 DHCP 范围,包括与其关联的所有租约/选项。"
#: src/routes/[node]/network/dhcp/ranges/+page.svelte
msgid "Failed to delete DHCP range"
-msgstr "DHCP 范围删除失败"
+msgstr "删除 DHCP 范围失败"
#: src/routes/[node]/network/dhcp/ranges/+page.svelte
msgid "DHCP range deleted"
@@ -6447,6 +7158,7 @@ msgstr "默认 Sylve 组 (sylve_g)"
msgid "Created At"
msgstr "创建时间"
+#: src/routes/[node]/settings/authentication/groups/+page.svelte
#: src/routes/[node]/settings/authentication/groups/+page.svelte
msgid "Edit Users"
msgstr "编辑用户"
@@ -6458,6 +7170,7 @@ msgstr "新组"
#: src/lib/components/custom/Samba/Share.svelte
#: src/lib/components/custom/Samba/Share.svelte
#: src/routes/[node]/settings/authentication/groups/+page.svelte
+#: src/routes/[node]/settings/authentication/groups/+page.svelte
msgid "Select users"
msgstr "选择用户"
@@ -6487,7 +7200,7 @@ msgstr "无法编辑管理员用户"
#: src/routes/[node]/settings/authentication/users/+page.svelte
msgid "Failed to delete user"
-msgstr "用户删除失败"
+msgstr "删除用户失败"
#: src/routes/[node]/settings/authentication/users/+page.svelte
msgid "User deleted"
@@ -6548,9 +7261,11 @@ msgstr "选择 IPv6 网络"
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/routes/[node]/network/switches/standard/+page.svelte
+#: src/routes/[node]/network/switches/standard/+page.svelte
msgid "Ports"
msgstr "端口"
+#: src/routes/[node]/network/switches/standard/+page.svelte
#: src/routes/[node]/network/switches/standard/+page.svelte
msgid "Select ports"
msgstr "选择端口"
@@ -6587,18 +7302,22 @@ msgstr "共享"
msgid "Date"
msgstr "日期"
+#: src/routes/[node]/storage/samba/settings/+page.svelte
#: src/routes/[node]/storage/samba/settings/+page.svelte
msgid "Unix Charset"
msgstr "Unix 字符集"
+#: src/routes/[node]/storage/samba/settings/+page.svelte
#: src/routes/[node]/storage/samba/settings/+page.svelte
msgid "Workgroup"
msgstr "工作组"
+#: src/routes/[node]/storage/samba/settings/+page.svelte
#: src/routes/[node]/storage/samba/settings/+page.svelte
msgid "Server String"
msgstr "服务器字符串"
+#: src/routes/[node]/storage/samba/settings/+page.svelte
#: src/routes/[node]/storage/samba/settings/+page.svelte
msgid "Bind Interfaces Only"
msgstr "仅绑定接口"
@@ -6641,7 +7360,7 @@ msgstr "Samba 共享"
#: src/routes/[node]/storage/samba/shares/+page.svelte
msgid "Failed to delete Samba share"
-msgstr "Samba 共享删除失败"
+msgstr "删除 Samba 共享失败"
#: src/routes/[node]/storage/samba/shares/+page.svelte
msgid "Samba share deleted"
@@ -6661,11 +7380,12 @@ msgstr "Scrub"
#: src/routes/[node]/storage/zfs/pools/+page.svelte
msgid "Please wait for the scrub/replace operation to finish"
-msgstr "请等待整理/替换操作完成"
+msgstr "请等待 Scrub/替换操作完成"
+#: src/routes/[node]/storage/zfs/pools/+page.svelte
#: src/routes/[node]/storage/zfs/pools/+page.svelte
msgid "Please wait for the current replace operation to finish"
-msgstr "请等待当前替换操作完成"
+msgstr "请等待当前的替换操作完成"
#: src/routes/[node]/storage/zfs/pools/+page.svelte
msgid "Replace already in progress"
@@ -6681,12 +7401,23 @@ msgid "Pool {0} deleted"
msgstr "池 {0} 已删除"
#: src/routes/[node]/vm/[node]/console/+page.svelte
+#: src/routes/[node]/vm/[node]/console/+page.svelte
+#: src/routes/[node]/vm/[node]/console/+page.svelte
+#: src/routes/[node]/vm/[node]/hardware/+page.svelte
+#: src/routes/[node]/vm/[node]/hardware/+page.svelte
#: src/routes/[node]/vm/[node]/hardware/+page.svelte
#: src/routes/[node]/vm/[node]/network/+page.svelte
+#: src/routes/[node]/vm/[node]/network/+page.svelte
+#: src/routes/[node]/vm/[node]/network/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
#: src/routes/[node]/vm/[node]/options/+page.svelte
#: src/routes/[node]/vm/[node]/storage/+page.svelte
+#: src/routes/[node]/vm/[node]/storage/+page.svelte
+#: src/routes/[node]/vm/[node]/storage/+page.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/console/+page.svelte
+#: src/routes/[node]/vm/[rid]/console/+page.svelte
+#: src/routes/[node]/vm/[rid]/console/+page.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "Shutoff"
msgstr "已关闭"
@@ -6721,8 +7452,7 @@ msgstr "未为此虚拟机配置控制台。"
#: src/routes/[node]/vm/[node]/console/+page.svelte
#: src/routes/[node]/vm/[rid]/console/+page.svelte
-msgid ""
-"The VM is currently powered off.<0/> Start the VM to access its console."
+msgid "The VM is currently powered off.<0/> Start the VM to access its console."
msgstr "虚拟机目前已关机。<0/> 启动虚拟机以访问其控制台。"
#. 0: vm.current?.name
@@ -6730,7 +7460,7 @@ msgstr "虚拟机目前已关机。<0/> 启动虚拟机以访问其控制台。"
#: src/routes/[node]/vm/[node]/console/+page.svelte
#: src/routes/[node]/vm/[rid]/console/+page.svelte
msgid "Console settings - {0}"
-msgstr "控制台设置 - {0}"
+msgstr "控制台设置 - {0} "
#: src/routes/[node]/vm/[node]/hardware/+page.svelte
#: src/routes/[node]/vm/[rid]/hardware/+page.svelte
@@ -6791,22 +7521,20 @@ msgstr "网络已分离"
msgid "VM must be shut off to attach storage"
msgstr "虚拟机必须处于关机状态才能附加存储"
-#. 0: properties.detach.name; 1: vm.current.name
#. 0: properties.detach.name; 1: vm.current.name
#: src/routes/[node]/vm/[node]/storage/+page.svelte
-#: src/routes/[node]/vm/[rid]/storage/+page.svelte
msgid "This will detach the storage {0} from the VM {1}"
-msgstr "这将从虚拟机 {1} 中分离存储 {0}"
+msgstr "这将从虚拟机 {1} 中卸离存储 {0}"
#: src/routes/[node]/vm/[node]/storage/+page.svelte
#: src/routes/[node]/vm/[rid]/storage/+page.svelte
msgid "Failed to detach storage"
-msgstr "存储分离失败"
+msgstr "卸离存储失败"
#: src/routes/[node]/vm/[node]/storage/+page.svelte
#: src/routes/[node]/vm/[rid]/storage/+page.svelte
msgid "Storage detached"
-msgstr "存储已分离"
+msgstr "存储已卸离"
#: src/routes/[node]/vm/[node]/options/+page.svelte
#: src/routes/[node]/vm/[rid]/options/+page.svelte
@@ -6820,10 +7548,20 @@ msgid "Not Configured"
msgstr "未配置"
#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[node]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
+#: src/routes/[node]/vm/[rid]/options/+page.svelte
#: src/routes/[node]/vm/[rid]/options/+page.svelte
msgid "Ignore Unimplemented MSRs Accesses"
msgstr "忽略未实现的 MSR 访问"
+#~ msgid "Please wait while VM {0} ({1}) is being shut down"
+#~ msgstr "请稍候,正在关闭虚拟机 {0} ({1})"
+
+#~ msgid "VM shut down"
+#~ msgstr "虚拟机已关闭"
+
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "Notes about VM"
@@ -6837,6 +7575,7 @@ msgstr "选择节点"
msgid "Single Dataset"
msgstr "单个数据集"
+#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
msgid "Virtual Machine"
msgstr "虚拟机"
@@ -6875,7 +7614,7 @@ msgstr "找不到所选的虚拟机"
#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
msgid "Unable to resolve a VM dataset root for the selected VM"
-msgstr "无法解析选虚拟机数据集的根目录"
+msgstr "无法为所选虚拟机解析虚拟机数据集根"
#: src/lib/components/custom/DataCenter/Backups/Jobs/Form.svelte
msgid "Backup job updated"
@@ -7035,11 +7774,11 @@ msgstr "没有可用的备份目标"
#: src/lib/components/custom/DataCenter/Backups/Jobs/OOBRestore.svelte
msgid "Failed to load target datasets"
-msgstr "目标数据集加载失败"
+msgstr "加载目标数据集失败"
#: src/lib/components/custom/DataCenter/Backups/Jobs/OOBRestore.svelte
msgid "Failed to load dataset details"
-msgstr "数据集详情加载失败"
+msgstr "加载数据集详情失败"
#: src/lib/components/custom/DataCenter/Backups/Jobs/OOBRestore.svelte
msgid "Destination dataset is required"
@@ -7059,6 +7798,8 @@ msgid "Restore job started - check events for progress"
msgstr "恢复任务已启动 - 请检查事件查看进度"
#: src/lib/components/custom/DataCenter/Backups/Jobs/OOBRestore.svelte
+#: src/lib/components/custom/DataCenter/Backups/Jobs/OOBRestore.svelte
+#: src/lib/components/custom/DataCenter/Backups/Jobs/Restore.svelte
#: src/lib/components/custom/DataCenter/Backups/Jobs/Restore.svelte
msgid "Failed to start restore"
msgstr "启动恢复失败"
@@ -7096,9 +7837,7 @@ msgid "No restorable datasets found"
msgstr "未发现可恢复的数据集"
#: src/lib/components/custom/DataCenter/Backups/Jobs/OOBRestore.svelte
-msgid ""
-"This backup set includes non-active lineages. Snapshot markers show lineage "
-"as <0/>, <1/>, and <2/>."
+msgid "This backup set includes non-active lineages. Snapshot markers show lineage as <0/>, <1/>, and <2/>."
msgstr "此备份集包含非活动谱系。快照标记将谱系显示为 <0/>、<1/> 和 <2/>。"
#: src/lib/components/custom/DataCenter/Backups/Jobs/OOBRestore.svelte
@@ -7153,6 +7892,7 @@ msgstr "恢复 Jail 网络配置"
msgid "Detected Jail Metadata"
msgstr "检测到 Jail 元数据"
+#: src/lib/components/custom/DataCenter/Backups/Jobs/OOBRestore.svelte
#: src/lib/components/custom/DataCenter/Backups/Jobs/OOBRestore.svelte
msgid "Name: <0/>"
msgstr "名称:<0/>"
@@ -7176,7 +7916,7 @@ msgstr "恢复警告"
#: src/lib/components/custom/DataCenter/Backups/Jobs/OOBRestore.svelte
msgid "The destination dataset will be replaced if it already exists."
-msgstr "如果目标数据集已存在,将进行替换。"
+msgstr "如果目标数据集已存在,它将被替换。"
#: src/lib/components/custom/DataCenter/Backups/Jobs/OOBRestore.svelte
msgid "Selected backup date: <0/>"
@@ -7202,9 +7942,10 @@ msgstr "系统保留的系谱"
msgid "Out-of-band lineage"
msgstr "带外系谱"
+#: src/lib/components/custom/DataCenter/Backups/Jobs/Restore.svelte
#: src/lib/components/custom/DataCenter/Backups/Jobs/Restore.svelte
msgid "Failed to load snapshots"
-msgstr "快照加载失败"
+msgstr "加载快照失败"
#: src/lib/components/custom/DataCenter/Backups/Jobs/Restore.svelte
msgid "Restore from Backup"
@@ -7219,10 +7960,8 @@ msgid "No snapshots found on the backup target. Run a backup first."
msgstr "在备份目标上未找到快照。请先运行一次备份。"
#: src/lib/components/custom/DataCenter/Backups/Jobs/Restore.svelte
-msgid ""
-"Some backups are from out-of-band lineages. Regular prune count applies to "
-"the current lineage only."
-msgstr "部分备份来自带外世系。常规清理计数仅适用于当前世系。"
+msgid "Some backups are from out-of-band lineages. Regular prune count applies to the current lineage only."
+msgstr "部分备份来自带外系谱。常规清理计数仅适用于当前系谱。"
#: src/lib/components/custom/DataCenter/Backups/Jobs/Restore.svelte
msgid "No snapshots found in the selected generation."
@@ -7242,22 +7981,20 @@ msgid "Refer"
msgstr "引用"
#: src/lib/components/custom/DataCenter/Backups/Jobs/Restore.svelte
-msgid ""
-"The current dataset is replaced in place with the selected restore point"
-msgstr "当前数据集将被所选恢复点原地替换"
+msgid "The current dataset is replaced in place with the selected restore point"
+msgstr "当前数据集将被所选还原点就地替换"
#: src/lib/components/custom/DataCenter/Backups/Jobs/Restore.svelte
msgid "Data from <0/> will be restored"
msgstr "来自 <0/> 的数据将被还原"
#: src/lib/components/custom/DataCenter/Backups/Jobs/Restore.svelte
-msgid ""
-"This snapshot is from <0/> and may not be counted by active-lineage prune."
-msgstr "此快照来自 <0/>,可能不会被当前世系清理计数统计。"
+msgid "This snapshot is from <0/> and may not be counted by active-lineage prune."
+msgstr "此快照来自 <0/>,可能不计入活动系谱清理。"
#: src/lib/components/custom/DataCenter/Backups/Jobs/Restore.svelte
msgid "No deletion on target, all snapshots remain available"
-msgstr "目标端不执行删除,所有快照仍然可用"
+msgstr "目标上不会进行删除,所有快照均保持可用"
#: src/lib/components/custom/DataCenter/Backups/Jobs/Restore.svelte
msgid "Restoring"
@@ -7269,7 +8006,7 @@ msgstr "SSH 主机是必填项"
#: src/lib/components/custom/DataCenter/Backups/Targets/Form.svelte
msgid "Backup Root is required"
-msgstr "必须备份根目录"
+msgstr "备份根目录是必填项"
#: src/lib/components/custom/DataCenter/Backups/Targets/Form.svelte
msgid "Backup target updated"
@@ -7281,17 +8018,17 @@ msgstr "备份目标已创建"
#: src/lib/components/custom/DataCenter/Backups/Targets/Form.svelte
msgid "Backup root not found on target"
-msgstr "未在目标上找到备份根目录"
+msgstr "在目标上未找到备份根目录"
#: src/lib/components/custom/DataCenter/Backups/Targets/Form.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Failed to update target"
-msgstr "目标更新失败"
+msgstr "更新目标失败"
#: src/lib/components/custom/DataCenter/Backups/Targets/Form.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Failed to create target"
-msgstr "目标创建失败"
+msgstr "创建目标失败"
#: src/lib/components/custom/DataCenter/Backups/Targets/Form.svelte
msgid "Edit Backup Target"
@@ -7356,7 +8093,7 @@ msgstr "对于 IPv6 范围,IP 地址必须是 IPv6 地址"
#: src/lib/components/custom/Network/DHCP/Lease/CreateOrEdit.svelte
msgid "Failed to create lease"
-msgstr "租约创建失败"
+msgstr "创建租约失败"
#: src/lib/components/custom/Network/DHCP/Lease/CreateOrEdit.svelte
msgid "Lease created"
@@ -7364,7 +8101,7 @@ msgstr "租约已创建"
#: src/lib/components/custom/Network/DHCP/Lease/CreateOrEdit.svelte
msgid "Failed to edit lease"
-msgstr "租约编辑失败"
+msgstr "编辑租约失败"
#: src/lib/components/custom/Network/DHCP/Lease/CreateOrEdit.svelte
msgid "Lease edited"
@@ -7397,74 +8134,83 @@ msgstr "可选备注"
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "IP Type is required"
-msgstr "IP 类型为必填项"
+msgstr ""
+#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "No switch selected"
-msgstr "未选择交换机"
+msgstr ""
+#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "Failed to find interface for selected switch"
-msgstr "未能找到所选交换机的接口"
+msgstr ""
+#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "IP Range not in switch subnet"
-msgstr "IP 范围不在交换机子网内"
+msgstr ""
+#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "Selected interface has no IPv4 address"
-msgstr "所选接口没有 IPv4 地址"
+msgstr ""
+#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "Selected interface has no usable IPv6 address"
-msgstr "所选接口无可用的 IPv6 地址"
+msgstr ""
#. 0: ipv6.ip; 1: ipv6.prefixLength
#. 0: ipv6.ip; 1: ipv6.prefixLength
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "IP Range not in switch subnet ({0}/{1})"
-msgstr "IP 范围不在交换机子网内({0}/{1})"
+msgstr ""
+#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "Expiry is required"
-msgstr "到期时间为必填项"
+msgstr ""
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "Error creating DHCP range"
-msgstr "DHCP 范围创建出错"
+msgstr ""
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "Created DHCP range"
-msgstr "DHCP 范围已创建"
+msgstr ""
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "No DHCP range selected"
-msgstr "未选择任何 DHCP 范围"
+msgstr ""
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "Error updating DHCP range"
-msgstr "DHCP 范围更新出错"
+msgstr ""
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "Updated DHCP range"
-msgstr "DHCP 范围已更新"
+msgstr ""
#. 0: selectedRange ? 'Edit' \\: 'Create'
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "{0} DHCP Range"
-msgstr "{0} DHCP 范围"
+msgstr ""
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "IP Type"
-msgstr "IP 类型"
+msgstr ""
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "Select IP Type"
-msgstr "选择 IP 类型"
+msgstr ""
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "RA Only"
-msgstr "仅 RA"
+msgstr ""
#: src/lib/components/custom/Network/Switch/Manual/Create.svelte
#: src/lib/components/custom/ZFS/datasets/fs/Create.svelte
@@ -7475,7 +8221,7 @@ msgstr "无效名称"
#: src/lib/components/custom/Network/Switch/Manual/Create.svelte
msgid "Failed to create manual switch"
-msgstr "手动交换机创建失败"
+msgstr "创建手动交换机失败"
#: src/lib/components/custom/Network/Switch/Manual/Create.svelte
msgid "Manual switch created"
@@ -7500,6 +8246,8 @@ msgstr "选择网桥"
#. 0: dataset.name; 1: properties.name
#: src/lib/components/custom/ZFS/datasets/snapshots/Create.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
+#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
+#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/Rollback.svelte
msgid "Snapshot {0}@{1} created"
msgstr "快照 {0}@{1} 已创建"
@@ -7591,13 +8339,17 @@ msgstr "选择存储池"
msgid "Select a dataset"
msgstr "选择数据集"
+#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/Jobs.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/Retention.svelte
+#: src/lib/components/custom/ZFS/datasets/snapshots/Retention.svelte
msgid "Interval"
msgstr "间隔"
#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
+#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
+#: src/lib/components/custom/ZFS/datasets/snapshots/Retention.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/Retention.svelte
msgid "Select an interval"
msgstr "选择间隔"
@@ -7612,6 +8364,7 @@ msgstr "保留策略"
msgid "Select a retention policy"
msgstr "选择保留策略"
+#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
#: src/lib/components/custom/ZFS/datasets/snapshots/Retention.svelte
msgid "Keep Last"
@@ -7654,7 +8407,7 @@ msgstr "已删除 {0} 个快照"
#: src/lib/components/custom/ZFS/datasets/snapshots/Delete.svelte
msgid "Failed to delete snapshots"
-msgstr "快照删除失败"
+msgstr "删除快照失败"
#: src/lib/components/custom/ZFS/datasets/snapshots/Delete.svelte
msgid "Snapshot GUID not found"
@@ -7672,7 +8425,7 @@ msgstr "这将删除 {0} 个快照"
#: src/lib/components/custom/ZFS/datasets/snapshots/Jobs.svelte
msgid "Failed to delete periodic snapshot"
-msgstr "定期快照删除失败"
+msgstr "删除定期快照失败"
#: src/lib/components/custom/ZFS/datasets/snapshots/Jobs.svelte
msgid "View Snapshot Jobs"
@@ -7702,6 +8455,9 @@ msgstr "修改保留策略时出错"
msgid "Retention policy modified"
msgstr "保留策略已修改"
+#~ msgid "Retention Policies -"
+#~ msgstr "保留策略 -"
+
#: src/lib/components/custom/ZFS/datasets/fs/Create.svelte
msgid "No parent selected"
msgstr "未选择父级"
@@ -7718,7 +8474,7 @@ msgstr "无效的配额大小"
#: src/lib/components/custom/ZFS/datasets/fs/Create.svelte
msgid "Failed to create filesystem"
-msgstr "文件系统创建失败"
+msgstr "创建文件系统失败"
#. 0: n
#: src/lib/components/custom/ZFS/datasets/fs/Create.svelte
@@ -7768,6 +8524,9 @@ msgstr "选择校验和"
msgid "Compression"
msgstr "压缩"
+#~ msgid "Select Compression"
+#~ msgstr "选择压缩"
+
#: src/lib/components/custom/ZFS/datasets/fs/Create.svelte
#: src/lib/components/custom/ZFS/datasets/fs/Edit.svelte
#: src/lib/components/custom/ZFS/datasets/volumes/Create.svelte
@@ -7835,11 +8594,11 @@ msgstr "自定义挂载点"
#: src/lib/components/custom/ZFS/datasets/fs/Edit.svelte
msgid "Quota size is less than current used or reserved space"
-msgstr "配额容量小于当前已使用或已保留空间"
+msgstr "配额大小小于当前已使用或已保留的空间"
#: src/lib/components/custom/ZFS/datasets/fs/Edit.svelte
msgid "Failed to edit filesystem"
-msgstr "文件系统编辑失败"
+msgstr "编辑文件系统失败"
#. 0: n
#: src/lib/components/custom/ZFS/datasets/fs/Edit.svelte
@@ -7951,10 +8710,11 @@ msgid "Volume Size"
msgstr "卷大小"
#: src/lib/components/custom/ZFS/datasets/volumes/Edit.svelte
-msgid ""
-"Volume size is not a multiple of block size, click on this if you'd like to "
-"automatically adjust it"
-msgstr "卷大小不是块大小的整数倍,点击此选项可自动调整"
+msgid "Volume size is not a multiple of block size, click on this if you'd like to automatically adjust it"
+msgstr "卷大小不是块大小的倍数,点击此处以自动调整"
+
+#~ msgid "<0/> Flash File to {0}"
+#~ msgstr "<0/> 写入文件到 {0}"
#: src/lib/components/custom/ZFS/datasets/volumes/FlashFile.svelte
msgid "Select File"
@@ -7972,6 +8732,12 @@ msgstr "卷 "
msgid "Flash"
msgstr "写入"
+#~ msgid "Edit Filesystem"
+#~ msgstr "编辑文件系统"
+
+#~ msgid "Delete Filesystem"
+#~ msgstr "删除文件系统"
+
#: src/routes/[node]/storage/zfs/datasets/fs/+page.svelte
msgid "Delete Datasets"
msgstr "删除数据集"
@@ -7984,7 +8750,7 @@ msgstr "已删除文件系统 {0}"
#. 0: activeDataset.name
#: src/routes/[node]/storage/zfs/datasets/fs/+page.svelte
msgid "Failed to delete filesystem {0}"
-msgstr "文件系统 {0} 删除失败"
+msgstr "删除文件系统 {0} 失败"
#: src/routes/[node]/storage/zfs/datasets/fs/+page.svelte
msgid "Filesystem GUID not found"
@@ -7993,7 +8759,7 @@ msgstr "未找到文件系统 GUID"
#. 0: modals.bulk.delete.title
#: src/routes/[node]/storage/zfs/datasets/fs/+page.svelte
msgid "Are you sure you want to delete {0}? This action cannot be undone."
-msgstr "你确定要删除 {0} 吗?该操作无法撤销。"
+msgstr "确定要删除 {0} 吗?此操作无法撤销。"
#. 0: activeDatasets.length
#. 0: activeSnapshot.length
@@ -8005,7 +8771,7 @@ msgstr "已删除 {0} 个数据集"
#: src/routes/[node]/storage/zfs/datasets/fs/+page.svelte
#: src/routes/[node]/storage/zfs/datasets/volumes/+page.svelte
msgid "Failed to delete datasets"
-msgstr "数据集删除失败"
+msgstr "删除数据集失败"
#: src/routes/[node]/storage/zfs/datasets/snapshots/+page.svelte
msgid "Referenced"
@@ -8015,6 +8781,7 @@ msgstr "引用"
msgid "Delete Snapshot"
msgid_plural "Delete # Snapshots"
msgstr[0] "删除快照"
+msgstr[1] "删除 # 个快照"
#: src/routes/[node]/storage/zfs/datasets/snapshots/+page.svelte
msgid "View Periodics"
@@ -8024,6 +8791,12 @@ msgstr "查看定期任务"
msgid "Flash File"
msgstr "烧录文件"
+#~ msgid "Delete Volume"
+#~ msgstr "删除卷"
+
+#~ msgid "Edit Volume"
+#~ msgstr "编辑卷"
+
#: src/routes/[node]/storage/zfs/datasets/volumes/+page.svelte
msgid "Delete Volumes"
msgstr "删除卷"
@@ -8031,12 +8804,12 @@ msgstr "删除卷"
#. 0: activeVolume.name
#: src/routes/[node]/storage/zfs/datasets/volumes/+page.svelte
msgid "Deleted volume {0}"
-msgstr "卷 {0} 已删除"
+msgstr "已删除卷 {0}"
#. 0: activeVolume.name
#: src/routes/[node]/storage/zfs/datasets/volumes/+page.svelte
msgid "Failed to delete volume {0}"
-msgstr "卷 {0} 删除失败"
+msgstr "删除卷 {0} 失败"
#: src/routes/[node]/storage/zfs/datasets/volumes/+page.svelte
msgid "Volume GUID not found"
@@ -8045,394 +8818,497 @@ msgstr "未找到卷 GUID"
#. 0: modals.bulk.delete.title
#: src/routes/[node]/storage/zfs/datasets/volumes/+page.svelte
msgid "This will delete {0}. This action cannot be undone."
-msgstr "将删除 {0}。该操作无法撤销。"
+msgstr "这将删除 {0}。此操作无法撤销。"
+
+#~ msgid "Populate /etc/resolv.conf"
+#~ msgstr ""
#: src/lib/components/custom/Jail/Options/TextEdit.svelte
msgid "Manage resolv.conf content for this jail"
-msgstr "管理此 jail 的 resolv.conf 内容"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "Populate DNS Resolver Configuration"
-msgstr "填写 DNS 解析器配置"
+msgstr ""
+
+#~ msgid "Predefined Configurations"
+#~ msgstr ""
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "Cloudflare"
-msgstr "Cloudflare"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "Google"
-msgstr "Google"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "Quad9"
-msgstr "Quad9"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "DNS Preset"
-msgstr "DNS 预设"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "Select DNS"
-msgstr "选择 DNS"
+msgstr ""
+
+#~ msgid "Cloudflare DNS"
+#~ msgstr ""
+
+#~ msgid "Google DNS"
+#~ msgstr ""
+
+#~ msgid "Quad9 DNS"
+#~ msgstr ""
#: src/routes/[node]/vm/[node]/+layout.svelte
+#: src/routes/[node]/vm/[node]/+layout.svelte
+#: src/routes/[node]/vm/[node]/+layout.svelte
+#: src/routes/[node]/vm/[node]/+layout.svelte
+#: src/routes/[node]/vm/[node]/+layout.svelte
+#: src/routes/[node]/vm/[node]/summary/+page.svelte
+#: src/routes/[node]/vm/[node]/summary/+page.svelte
+#: src/routes/[node]/vm/[node]/summary/+page.svelte
+#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/+layout.svelte
+#: src/routes/[node]/vm/[rid]/+layout.svelte
+#: src/routes/[node]/vm/[rid]/+layout.svelte
+#: src/routes/[node]/vm/[rid]/+layout.svelte
+#: src/routes/[node]/vm/[rid]/+layout.svelte
+#: src/routes/[node]/vm/[rid]/summary/+page.svelte
+#: src/routes/[node]/vm/[rid]/summary/+page.svelte
+#: src/routes/[node]/vm/[rid]/summary/+page.svelte
+#: src/routes/[node]/vm/[rid]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "VM action already in progress"
-msgstr "虚拟机操作已在进行中"
+msgstr ""
#: src/routes/[node]/vm/[node]/+layout.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/+layout.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "VM start queued"
-msgstr "虚拟机启动请求已加入队列"
+msgstr ""
#: src/routes/[node]/vm/[node]/+layout.svelte
+#: src/routes/[node]/vm/[node]/+layout.svelte
+#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/+layout.svelte
+#: src/routes/[node]/vm/[rid]/+layout.svelte
+#: src/routes/[node]/vm/[rid]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "Force stop requested"
-msgstr "已请求强制停止"
+msgstr ""
#: src/routes/[node]/vm/[node]/+layout.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/+layout.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "VM stop queued"
-msgstr "虚拟机停止请求已加入队列"
+msgstr ""
#: src/routes/[node]/vm/[node]/+layout.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/+layout.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "Error requesting force stop"
-msgstr "请求强制停止时出错"
+msgstr ""
#: src/routes/[node]/vm/[node]/+layout.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/+layout.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "VM shutdown queued"
-msgstr "虚拟机关机请求已加入队列"
+msgstr ""
#: src/routes/[node]/vm/[node]/+layout.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/+layout.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "VM reboot queued"
-msgstr "虚拟机重启请求已加入队列"
+msgstr ""
#: src/routes/[node]/vm/[node]/+layout.svelte
#: src/routes/[node]/vm/[node]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/+layout.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "Force Stop"
-msgstr "强制停止"
+msgstr ""
+
+#~ msgid "<0/> {0} lifecycle action{1} in progress"
+#~ msgstr ""
#: src/routes/[node]/jail/[ctid]/+layout.svelte
+#: src/routes/[node]/jail/[ctid]/+layout.svelte
+#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
#: src/routes/[node]/jail/[node]/+layout.svelte
+#: src/routes/[node]/jail/[node]/+layout.svelte
+#: src/routes/[node]/jail/[node]/summary/+page.svelte
#: src/routes/[node]/jail/[node]/summary/+page.svelte
msgid "Jail action already in progress"
-msgstr "Jail 操作已在进行中"
+msgstr ""
#: src/routes/[node]/jail/[ctid]/+layout.svelte
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
#: src/routes/[node]/jail/[node]/+layout.svelte
#: src/routes/[node]/jail/[node]/summary/+page.svelte
msgid "Jail stop queued"
-msgstr "Jail 停止请求已加入队列"
+msgstr ""
#: src/routes/[node]/jail/[ctid]/+layout.svelte
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
#: src/routes/[node]/jail/[node]/+layout.svelte
#: src/routes/[node]/jail/[node]/summary/+page.svelte
msgid "Jail start queued"
-msgstr "Jail 启动请求已加入队列"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Working"
-msgstr "正在处理"
+msgstr ""
+#: src/routes/datacenter/replication/policies/+page.svelte
+#: src/routes/datacenter/replication/policies/+page.svelte
#: src/routes/datacenter/replication/policies/+page.svelte
msgid "This policy needs at least one target server."
-msgstr "此策略至少需要一个目标服务器。"
+msgstr ""
#: src/routes/[node]/jail/[ctid]/console/+page.svelte
#: src/routes/[node]/jail/[node]/console/+page.svelte
#: src/routes/[node]/vm/[node]/console/+page.svelte
#: src/routes/[node]/vm/[rid]/console/+page.svelte
msgid "Connecting..."
-msgstr "正在连接……"
+msgstr ""
#: src/lib/components/custom/About.svelte
-msgid ""
-"Sylve is a lightweight control plane for the <0>FreeBSD ecosystem0>, "
-"unifying Bhyve, Jails, ZFS, and more into a streamlined management "
-"interface. Powered by a high-performance Go backend and a responsive "
-"SvelteKit frontend, it makes complex infrastructure simple."
+msgid "Sylve is a lightweight control plane for the <0>FreeBSD ecosystem0>, unifying Bhyve, Jails, ZFS, and more into a streamlined management interface. Powered by a high-performance Go backend and a responsive SvelteKit frontend, it makes complex infrastructure simple."
msgstr ""
-"Sylve 是为 <0>FreeBSD 生态系统0> 打造的轻量级控制面板,将 Bhyve、Jail、ZFS "
-"等融为一个简化的管理界面中。由高性能 Go 后端和响应式 SvelteKit 前端驱动,使复"
-"杂的基础设施变得简洁。"
#: src/lib/components/custom/About.svelte
msgid "Experimental Features"
-msgstr "实验性功能"
+msgstr ""
+
+#~ msgid "Live Console Stream"
+#~ msgstr ""
+
+#~ msgid "Task Pipeline Preview"
+#~ msgstr ""
+
+#~ msgid "Edge Telemetry Mode"
+#~ msgstr ""
#: src/lib/components/custom/Login.svelte
msgid "<0/> Passkey"
-msgstr "<0/> 通行密钥"
+msgstr ""
#: src/routes/[node]/settings/authentication/users/+page.svelte
msgid "Passkeys"
-msgstr "通行密钥"
+msgstr ""
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "Passkeys require HTTPS and browser WebAuthn support"
-msgstr "通行密钥需要 HTTPS,并且需要浏览器支持 WebAuthn"
+msgstr ""
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "Could not start passkey registration"
-msgstr "无法启动通行密钥注册"
+msgstr ""
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "Invalid registration challenge payload"
-msgstr "注册挑战负载无效"
+msgstr ""
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "Passkey registration failed"
-msgstr "通行密钥注册失败"
+msgstr ""
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "Could not finish passkey registration"
-msgstr "无法完成通行密钥注册"
+msgstr ""
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "Passkey registered"
-msgstr "通行密钥已注册"
+msgstr ""
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "NotAllowedError"
-msgstr "非法操作"
+msgstr ""
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "Passkey request cancelled or timed out"
-msgstr "通行密钥请求已取消或超时"
+msgstr ""
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "Failed to register passkey"
-msgstr "通行密钥注册失败"
+msgstr ""
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "Failed to delete passkey"
-msgstr "通行密钥删除失败"
+msgstr ""
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "Passkey deleted"
-msgstr "检测到通行密钥"
+msgstr ""
#. 0: username
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "Passkeys - {0}"
-msgstr "通行密钥 - {0}"
+msgstr ""
+
+#~ msgid "Label (optional)"
+#~ msgstr ""
+
+#~ msgid "Laptop, Phone, Security Key..."
+#~ msgstr ""
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "Register"
-msgstr "注册"
+msgstr ""
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "Loading passkeys..."
-msgstr "正在加载通行密钥……"
+msgstr ""
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "No passkeys registered."
-msgstr "未注册通行密钥。"
+msgstr ""
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "Label"
-msgstr "标签"
+msgstr ""
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "Credential ID"
-msgstr "凭证 ID"
+msgstr ""
#: src/lib/components/custom/Authentication/Passkeys.svelte
msgid "Hayzam's Laptop"
-msgstr "Hayzam 的笔记本"
+msgstr ""
+
+#~ msgid "<0/> Scanning"
+#~ msgstr ""
+
+#~ msgid "<0/> Touch ID"
+#~ msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Login - Passkey - Begin"
-msgstr "登录 - 通行密钥 - 开始"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Login - Passkey - Finish"
-msgstr "登录 - 通行密钥 - 完成"
+msgstr ""
+
+#~ msgid "Register - Passkey - Finish"
+#~ msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Passkey"
-msgstr "通行密钥"
+msgstr ""
+
+#~ msgid "Register - Passkey - Begin"
+#~ msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Passkey - Register - Begin"
-msgstr "通行密钥 - 注册 - 开始"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Passkey - Register - Finish"
-msgstr "通行密钥 - 注册 - 完成"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "VM Snapshot"
-msgstr "虚拟机快照"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "VM Snapshot - Rollback"
-msgstr "虚拟机快照 - 回滚"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Jail Snapshot - Rollback"
-msgstr "jail 快照 - 回滚"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Jail Snapshot"
-msgstr "jail 快照"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "DHCP Lease"
-msgstr "DHCP 租约"
+msgstr ""
#: src/lib/components/custom/Header.svelte
msgid "Quick actions"
-msgstr "快速操作"
+msgstr ""
#: src/lib/components/custom/Header.svelte
msgid "No create actions are available."
-msgstr "没有可用的创建操作。"
+msgstr ""
-#: src/routes/[node]/+layout.svelte src/routes/datacenter/+layout.svelte
+#: src/routes/[node]/+layout.svelte
+#: src/routes/datacenter/+layout.svelte
msgid "Documentation"
-msgstr "文档"
+msgstr ""
+#~ msgid "This option is not available for Linux jails"
+#~ msgstr ""
+
+#~ msgid "B/s"
+#~ msgstr ""
+
+#~ msgid "<0/> Hello World"
+#~ msgstr ""
+
+#: src/lib/components/skeleton/TreeViewCluster.svelte
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "<0/> Stop"
-msgstr "<0/> 停止"
+msgstr ""
+#: src/lib/components/skeleton/TreeViewCluster.svelte
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "<0/> Start"
-msgstr "<0/> 开始"
+msgstr ""
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "<0/> Shutdown"
-msgstr "<0/> 关机"
+msgstr ""
#: src/routes/datacenter/backups/jobs/+page.ts
msgid "Local node"
-msgstr "本地节点"
+msgstr ""
#: src/lib/components/custom/Cluster/Join.svelte
msgid "Leader IP is required"
-msgstr "需要领导节点 IP"
+msgstr ""
#: src/lib/components/custom/Cluster/Join.svelte
msgid "Leader IP (192.168.1.1)"
-msgstr "需要领导节点 IP (192.168.1.1)"
+msgstr ""
#: src/lib/components/skeleton/LeftPanelClustered.svelte
#: src/routes/[node]/storage/zfs/datasets/snapshots/+page.svelte
msgid "Templates"
-msgstr "模板"
+msgstr ""
+
+#~ msgid "Jail Template - Convert"
+#~ msgstr ""
+
+#~ msgid "Jail Template - Create Jail"
+#~ msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Jail Template"
-msgstr "Jail 模板"
+msgstr ""
+
+#~ msgid "Failed to convert jail to template"
+#~ msgstr ""
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "Template conversion queued"
-msgstr "模板转换请求已加入队列"
+msgstr ""
+
+#~ msgid "Delete template \"{0}\"?"
+#~ msgstr ""
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "Failed to delete template"
-msgstr "模板删除失败"
+msgstr ""
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "Template deleted"
-msgstr "已删除模板"
+msgstr ""
#: src/lib/components/custom/Jail/CreateFromTemplate.svelte
#: src/lib/components/custom/Jail/Template/Create.svelte
msgid "Failed to create jail from template"
-msgstr "无法从模板创建 jail"
+msgstr ""
+
+#~ msgid "Template restore job queued"
+#~ msgstr ""
+#: src/lib/components/skeleton/TreeViewCluster.svelte
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "<0/> Convert to Template"
-msgstr "<0/> 转换成模板"
+msgstr ""
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "<0/> Create Jail"
-msgstr "<0/> 创建 Jail"
+msgstr ""
+#: src/lib/components/skeleton/TreeViewCluster.svelte
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "<0/> Delete Template"
-msgstr "<0/> 删除模板"
+msgstr ""
+
+#~ msgid "Create Jail From Template"
+#~ msgstr ""
#: src/lib/components/custom/Jail/CreateFromTemplate.svelte
#: src/lib/components/custom/Jail/Template/Create.svelte
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Single"
-msgstr "单"
+msgstr ""
#: src/lib/components/custom/Jail/CreateFromTemplate.svelte
#: src/lib/components/custom/Jail/Template/Create.svelte
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Multiple"
-msgstr "多"
+msgstr ""
+
+#~ msgid "CTID"
+#~ msgstr ""
+
+#~ msgid "Name (optional)"
+#~ msgstr ""
#: src/lib/components/custom/Jail/CreateFromTemplate.svelte
#: src/lib/components/custom/Jail/Template/Create.svelte
msgid "Starting CTID"
-msgstr "正在启动 CTID"
+msgstr ""
#: src/lib/components/custom/Jail/CreateFromTemplate.svelte
#: src/lib/components/custom/Jail/Template/Create.svelte
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Count"
-msgstr "计数"
+msgstr ""
#: src/lib/components/custom/Jail/CreateFromTemplate.svelte
#: src/lib/components/custom/Jail/Template/Create.svelte
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Name Prefix"
-msgstr "名称前缀"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Create Jail Template - From Jail"
-msgstr "创建 Jail 模板 - 从 Jail"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Create Jail - Template"
-msgstr "创建 Jail - 模板"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Queued"
-msgstr "已加入队列"
+msgstr ""
#. 0: templateName; 1: task.guestId
#. 0: templateName; 1: task.guestId
#: src/lib/components/skeleton/BottomPanel.svelte
+#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Template {0} ({1})"
-msgstr "模板 {0} ({1})"
+msgstr ""
#. 0: task.guestId
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Jail Template {0}"
-msgstr "Jail 模板 {0}"
+msgstr ""
#. 0: jailName; 1: task.guestId
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Jail {0} ({1})"
-msgstr "Jail {0} ({1})"
+msgstr ""
#. 0: templateName
#. 0: templateName
@@ -8441,23 +9317,24 @@ msgstr "Jail {0} ({1})"
#: src/lib/components/custom/Jail/CreateFromTemplate.svelte
#: src/lib/components/custom/Jail/Template/Create.svelte
#: src/lib/components/skeleton/BottomPanel.svelte
+#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Create Jail - Template {0}"
-msgstr "创建 Jail - 模板 {0}"
+msgstr ""
#. 0: jailName; 1: task.guestId
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Create Jail Template - {0} (Jail CTID {1})"
-msgstr "创建 Jail 模板 - {0} (Jail CTID {1})"
+msgstr ""
#. 0: task.guestId
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Create Jail Template - Jail CTID {0}"
-msgstr "创建 Jail 模板 - Jail CTID {0}"
+msgstr ""
#. 0: activeLifecycleCount; 1: activeLifecycleCount === 1 ? '' \\: 's'
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "<0/> {0} active lifecycle task{1}"
-msgstr "<0/> {0} 个活动生命周期任务 {1}"
+msgstr ""
#. 0: templateId
#. 0: templateId
@@ -8468,1016 +9345,1198 @@ msgstr "<0/> {0} 个活动生命周期任务 {1}"
#: src/lib/components/custom/Jail/Template/View.svelte
#: src/lib/components/custom/VM/Template/View.svelte
msgid "Template {0}"
-msgstr "模板 {0}"
+msgstr ""
#: src/lib/components/custom/Jail/CreateFromTemplate.svelte
#: src/lib/components/custom/Jail/Template/Create.svelte
msgid "Create jail request queued"
-msgstr "jail创建 请求已加入队列"
+msgstr ""
#: src/lib/components/custom/Jail/Template/Create.svelte
msgid "Invalid CTID"
-msgstr "CTID 无效"
+msgstr ""
#: src/lib/components/custom/Jail/Template/Create.svelte
msgid "Invalid Jail Name"
-msgstr "Jail 名称无效"
+msgstr ""
+#: src/lib/components/custom/Jail/Template/Create.svelte
#: src/lib/components/custom/Jail/Template/Create.svelte
msgid "Invalid CTID range"
-msgstr "CTID 范围无效"
+msgstr ""
+#: src/lib/components/custom/Jail/Template/Create.svelte
#: src/lib/components/custom/Jail/Template/Create.svelte
msgid "Invalid jail name prefix"
-msgstr "Jail 名称前缀无效"
+msgstr ""
#. 0: createMode === 'single' ? 'Jail' \\: 'Jails'
#. 0: createMode === 'single' ? 'VM' \\: 'VMs'
#: src/lib/components/custom/Jail/Template/Create.svelte
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Creating {0}"
-msgstr "正在创建 {0}"
+msgstr ""
#. 0: createMode === 'single' ? 'Jail' \\: 'Jails'
#. 0: createMode === 'single' ? 'VM' \\: 'VMs'
#: src/lib/components/custom/Jail/Template/Create.svelte
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Create {0}"
-msgstr "创建 {0}"
+msgstr ""
+#: src/lib/components/skeleton/TreeViewCluster.svelte
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "<0/> View Template"
-msgstr "<0/> 查看模板"
+msgstr ""
+#: src/lib/components/skeleton/TreeViewCluster.svelte
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "Deleting..."
-msgstr "正在删除……"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
+#: src/lib/components/custom/Jail/Template/View.svelte
+#: src/lib/components/custom/VM/Template/View.svelte
#: src/lib/components/custom/VM/Template/View.svelte
msgid "Failed to load template details"
-msgstr "模板详情读取失败"
+msgstr ""
#. 0: title.replaceAll('Template', '')
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Template Details - {0}"
-msgstr "模板详情 - {0}"
+msgstr ""
+
+#~ msgid "Loading template details..."
+#~ msgstr ""
+
+#~ msgid "ID:"
+#~ msgstr ""
+
+#~ msgid "Source CTID:"
+#~ msgstr ""
+
+#~ msgid "Source Jail:"
+#~ msgstr ""
+
+#~ msgid "Type:"
+#~ msgstr ""
+
+#~ msgid "Pool:"
+#~ msgstr ""
+
+#~ msgid "Root Dataset:"
+#~ msgstr ""
+
+#~ msgid "Resource Limits:"
+#~ msgstr ""
+
+#~ msgid "CPU Cores:"
+#~ msgstr ""
+
+#~ msgid "Memory (bytes):"
+#~ msgstr ""
+
+#~ msgid "Inherit IPv4:"
+#~ msgstr ""
+
+#~ msgid "Inherit IPv6:"
+#~ msgstr ""
+
+#~ msgid "Created:"
+#~ msgstr ""
+
+#~ msgid "Updated:"
+#~ msgstr ""
+
+#~ msgid "Network Templates"
+#~ msgstr ""
+
+#~ msgid "#{0} {1} ({2}, switch {3})"
+#~ msgstr ""
+
+#~ msgid "Hook Templates"
+#~ msgstr ""
+
+#~ msgid "FStab"
+#~ msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "resolv.conf"
-msgstr "resolv.conf"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "No template details available."
-msgstr "无模板详情可用。"
+msgstr ""
+#: src/lib/components/custom/Jail/Template/Create.svelte
#: src/lib/components/custom/Jail/Template/Create.svelte
msgid "Select a ZFS pool"
-msgstr "选择 ZFS 存储池"
+msgstr ""
#: src/lib/components/custom/Jail/Template/Create.svelte
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Count must be positive"
-msgstr "数量必须为正数"
+msgstr ""
#: src/lib/components/custom/Jail/Template/Create.svelte
msgid "Not enough space in selected pool"
-msgstr "所选存储池空间不足"
+msgstr ""
#: src/lib/components/custom/Jail/Template/Create.svelte
msgid "One or more CTIDs are already in use"
-msgstr "一到多个 CTID 已被占用"
+msgstr ""
#: src/lib/components/custom/Jail/Template/Create.svelte
msgid "Duplicate CTIDs in request"
-msgstr "请求中存在重复的 CTID"
+msgstr ""
#: src/lib/components/custom/Jail/Template/Create.svelte
msgid "One or more jail names are already in use"
-msgstr "一到多个 jail 名称已被占用"
+msgstr ""
#: src/lib/components/custom/Jail/Template/Create.svelte
msgid "Duplicate jail names in request"
-msgstr "请求中存在重复的 jail 名称"
+msgstr ""
#: src/lib/components/custom/Jail/Template/Create.svelte
msgid "Invalid jail name"
-msgstr "Jail 名称无效"
+msgstr ""
#: src/lib/components/custom/Jail/Template/Create.svelte
msgid "Invalid create mode"
-msgstr "创建模式无效"
+msgstr ""
#: src/lib/components/custom/Jail/Template/Create.svelte
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Selected pool is not available"
-msgstr "所选的存储池不可用"
+msgstr ""
#: src/lib/components/custom/Jail/Template/Create.svelte
msgid "Target jail dataset already exists"
-msgstr "目标 jail 数据集已存在"
+msgstr ""
#: src/lib/components/custom/Jail/Template/Create.svelte
msgid "Template dataset not found"
-msgstr "未找到模板数据集"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Template"
-msgstr "模板"
+msgstr ""
+
+#~ msgid "General"
+#~ msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Basic Details"
-msgstr "基本信息"
+msgstr ""
+
+#~ msgid "Source CTID"
+#~ msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Source Jail"
-msgstr "源 Jail"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Hardware Limits"
-msgstr "硬件资源限制"
+msgstr ""
+
+#~ msgid "Memory (bytes)"
+#~ msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Inheritance"
-msgstr "继承"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Inherit IPv4"
-msgstr "继承 IPv4"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Inherit IPv6"
-msgstr "继承 IPv6"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Network Interfaces"
-msgstr "网络接口"
+msgstr ""
+
+#~ msgid "Type: {0} • Switch ID: {1}"
+#~ msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "No network interfaces defined"
-msgstr "网络接口未定义"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "ZFS Storage"
-msgstr "ZFS 存储"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Root Dataset"
-msgstr "根数据集"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "FStab Mounts"
-msgstr "FStab 挂载信息"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Pre/Post Hooks"
-msgstr "前/后钩子"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "No hooks configured"
-msgstr "钩子未配置"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "<0/> Linux"
-msgstr "<0/> Linux"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "<0/> FreeBSD"
-msgstr "<0/> FreeBSD"
+msgstr ""
+
+#~ msgid "Linux"
+#~ msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Memory"
-msgstr "内存"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Pre Start"
-msgstr "启动前"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Post Start"
-msgstr "启动后"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Pre Stop"
-msgstr "停止前"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Post Stop"
-msgstr "停止后"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Hook Details"
-msgstr "钩子详情"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "No script content found for this hook"
-msgstr "未找到该钩子的脚本内容"
+msgstr ""
+
+#~ msgid "Type: {0} • Switch ID: {1} {2}"
+#~ msgstr ""
+
+#~ msgid "Type: {0} • Switch ID: {1} DHCP: {2} • SLAAC: {3}"
+#~ msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "Switch ID"
-msgstr "切换 ID"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "DHCP"
-msgstr "DHCP"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "SLAAC"
-msgstr "SLAAC"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "<0/> Standard"
-msgstr "<0/> 标准"
+msgstr ""
#: src/lib/components/custom/Jail/Template/View.svelte
msgid "<0/> Manual"
-msgstr "<0/> 手动"
+msgstr ""
#. 0: type
#: src/lib/components/custom/ZFS/pools/Create.svelte
msgid "No available {0} disks"
-msgstr "{0} 磁盘不可用"
+msgstr ""
#: src/lib/components/custom/ZFS/pools/Create.svelte
msgid "Disks & Partitions"
-msgstr "磁盘和分区"
+msgstr ""
#. 0: section.count
#: src/lib/components/custom/ZFS/pools/Create.svelte
msgid "({0} available)"
-msgstr "({0} 可用)"
+msgstr ""
+
+#~ msgid "<0/> Partitions <1>({0} available)1>"
+#~ msgstr ""
#. 0: disk.device.split('/').pop()
#. 0: partition.name
#: src/lib/components/custom/ZFS/pools/Create.svelte
+#: src/lib/components/custom/ZFS/pools/Create.svelte
msgid "Add {0} to last VDEV"
-msgstr "将 {0} 添加到最后一个 VDEV"
+msgstr ""
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Size (Read-only)"
-msgstr "大小(只读)"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Create VM Template - From VM"
-msgstr "创建虚拟机模板 - 从虚拟机"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Create VM - Template"
-msgstr "创建虚拟机 - 模板"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "VM Template"
-msgstr "虚拟机模板"
+msgstr ""
#. 0: task.guestId
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "VM Template {0}"
-msgstr "虚拟机模板 {0}"
+msgstr ""
#. 0: templateName
#. 0: task.guestId
#: src/lib/components/skeleton/BottomPanel.svelte
+#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Create VM - Template {0}"
-msgstr "创建虚拟机 - 模板 {0}"
+msgstr ""
#. 0: vmName; 1: task.guestId
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Create VM Template - {0} (VM RID {1})"
-msgstr "创建虚拟机模板 - {0} (虚拟机 RID {1})"
+msgstr ""
#. 0: task.guestId
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Create VM Template - VM RID {0}"
-msgstr "创建虚拟机模板 - 虚拟机 RID {0}"
+msgstr ""
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "Failed to convert to template"
-msgstr "模板转换失败"
+msgstr ""
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "<0/> Create VM"
-msgstr "<0/> 创建虚拟机"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Failed to load template data"
-msgstr "模板数据读取失败"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Template details are not loaded yet"
-msgstr "模板详情尚未加载"
+msgstr ""
+#: src/lib/components/custom/VM/Template/Create.svelte
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Template has no cloneable storage"
-msgstr "模板没有可克隆的存储"
+msgstr ""
#. 0: storage.sourceStorageId
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Select a pool for storage {0}"
-msgstr "为存储 {0} 选择存储池"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Invalid RID"
-msgstr "RID 无效"
+msgstr ""
+#: src/lib/components/custom/VM/Template/Create.svelte
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Invalid VM name"
-msgstr "虚拟机名称无效"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Invalid RID range"
-msgstr "RID 范围无效"
+msgstr ""
+#: src/lib/components/custom/VM/Template/Create.svelte
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Invalid VM name prefix"
-msgstr "虚拟机名称前缀无效"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "One or more template switches do not exist"
-msgstr "一到多个模板交换机不存在"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Template storage dataset was not found"
-msgstr "未找到模板存储数据集"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "One or more RIDs are already in use"
-msgstr "一到多个 RID 已被占用"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "One or more VM names are already in use"
-msgstr "一到多个虚拟机名称已被占用"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Invalid RID or RID range"
-msgstr "RID 或 RID 范围无效"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Not enough free space in selected pool(s)"
-msgstr "所选存储池空间不足"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Select pools for all storages"
-msgstr "为所有存储分配存储池"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Cloud-init metadata YAML is invalid in template"
-msgstr "模板中 Cloud-init 的元数据 YAML 无效"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Failed to create VM from template"
-msgstr "无法从模板创建虚拟机"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Create VM request queued"
-msgstr "虚拟机创建请求已加入队列"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "<0/> Loading template details..."
-msgstr "<0/> 正在加载模板详情..."
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
#: src/lib/components/custom/VM/Template/View.svelte
msgid "Template data unavailable"
-msgstr "模板数据不可用"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Optional"
-msgstr "选项"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Starting RID"
-msgstr "正在启动 RID"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Storage Pool Mapping"
-msgstr "存储池映射"
+msgstr ""
#. 0: storage.sourceStorageId; 1: storage.type.toUpperCase()
#. 0: storage.sourceStorageId; 1: storage.type.toUpperCase()
#: src/lib/components/custom/VM/Template/Create.svelte
#: src/lib/components/custom/VM/Template/View.svelte
msgid "Storage #{0} ({1})"
-msgstr "存储 #{0} ({1})"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Select pool"
-msgstr "选择存储池"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "<0/> Rewrite cloud-init hostname + instance-id"
-msgstr "<0/> 重写 cloud-init 主机名和实例 ID"
+msgstr ""
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Identity Prefix (optional)"
-msgstr "身份前缀(可选)"
+msgstr ""
+
+#~ msgid "If empty, VM name is used"
+#~ msgstr ""
+#: src/lib/components/custom/VM/Template/Create.svelte
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "VMs"
-msgstr "虚拟机"
+msgstr ""
#. 0: title
#: src/lib/components/custom/VM/Template/View.svelte
msgid "VM Template - {0}"
-msgstr "虚拟机模板 - {0}"
+msgstr ""
#: src/lib/components/custom/VM/Template/View.svelte
msgid "Template ID"
-msgstr "模板 ID"
+msgstr ""
#: src/lib/components/custom/VM/Template/View.svelte
msgid "Source VM"
-msgstr "源虚拟机"
+msgstr ""
#. 0: template.cpuSockets; 1: template.cpuCores; 2: template.cpuThreads
#: src/lib/components/custom/VM/Template/View.svelte
msgid "{0}S / {1}C / {2}T"
-msgstr "{0}S / {1}C / {2}T"
+msgstr ""
#: src/lib/components/custom/VM/Template/View.svelte
msgid "TPM"
-msgstr "TPM"
+msgstr ""
#: src/lib/components/custom/VM/Template/View.svelte
msgid "No cloneable storage in template"
-msgstr "模板中没有可克隆的存储"
+msgstr ""
#. 0: storage.pool; 1: formatBytesBinary(storage.size || 0); 2: storage.bootOrder
#: src/lib/components/custom/VM/Template/View.svelte
msgid "Pool {0} • Size {1} • Boot order {2}"
-msgstr "存储池 {0} • 大小 {1} • 启动顺序 {2}"
+msgstr ""
#: src/lib/components/custom/VM/Template/View.svelte
msgid "No network interfaces in template"
-msgstr "模板中没有网络接口"
+msgstr ""
#. 0: idx + 1
#: src/lib/components/custom/VM/Template/View.svelte
msgid "Network #{0}"
-msgstr "网络 #{0}"
+msgstr ""
#. 0: network.switchType; 1: network.switchName; 2: network.emulation
#: src/lib/components/custom/VM/Template/View.svelte
msgid "{0} switch: {1} • {2}"
-msgstr "{0} 交换机:{1} • {2}"
+msgstr ""
#: src/lib/components/custom/VM/Template/View.svelte
msgid "Cloud-init data is not set on this template"
-msgstr "此模板未设置 Cloud-init 数据"
+msgstr ""
+#: src/lib/components/skeleton/TreeViewCluster.svelte
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "Template name is required"
-msgstr "必须提供模板名称"
+msgstr ""
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "Template name already in use"
-msgstr "模板名称已被占用"
+msgstr ""
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "Convert To Template"
-msgstr "转换为模板"
+msgstr ""
+
+#~ msgid "Provide a unique template name for this {0}."
+#~ msgstr ""
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "Template Name"
-msgstr "模板名称"
+msgstr ""
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "Template name"
-msgstr "模板名称"
+msgstr ""
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "Convert"
-msgstr "转换"
+msgstr ""
#: src/lib/components/skeleton/TreeViewCluster.svelte
msgid "VM must be shut off to convert to template"
-msgstr "在转换为模板前必须关闭虚拟机"
+msgstr ""
+
+#~ msgid "Storage #{storage.sourceStorageId} ({0})"
+#~ msgstr ""
#. 0: search.trim()
#: src/lib/components/ui/custom-input/combobox.svelte
msgid "<0/> Use \"{0}\""
-msgstr "<0/> 使用 \"{0}\""
+msgstr ""
#: src/lib/components/custom/ZFS/datasets/fs/Create.svelte
#: src/lib/components/custom/ZFS/datasets/fs/Edit.svelte
#: src/lib/components/custom/ZFS/datasets/volumes/Edit.svelte
msgid "Select or type compression"
-msgstr "选择或输入压缩类型"
+msgstr ""
#. 0: normalizedTemplateName(templateLabel)
#: src/lib/components/custom/VM/Template/Create.svelte
msgid "Create VM - {0}"
-msgstr "创建虚拟机 - {0}"
+msgstr ""
#. 0: modals.delete.type; 1: activeRow?.hostname || activeRow?.ip || ''
#: src/routes/[node]/network/dhcp/leases/+page.svelte
-msgid ""
-"This action cannot be undone. This will permanently delete {0} DHCP lease "
-"for {1}"
-msgstr "操作无法撤销。将永久删除 {1} 的 {0} DHCP 租约"
+msgid "This action cannot be undone. This will permanently delete {0} DHCP lease for {1}"
+msgstr ""
#: src/routes/[node]/network/dhcp/leases/+page.svelte
msgid "Invalid DHCP lease type"
-msgstr "DHCP 租约类型无效"
+msgstr ""
#: src/routes/[node]/network/dhcp/leases/+page.svelte
msgid "Deleting Lease..."
-msgstr "正在删除租约..."
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "DHCP Lease - Delete Dynamic"
-msgstr "DHCP 租约 - 删除动态项"
+msgstr ""
+
+#~ msgid "Enabled (Attached to VM)"
+#~ msgstr ""
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Enabled (Available to VM)"
-msgstr "已启用(虚拟机可用)"
+msgstr ""
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "ISO/Image"
-msgstr "ISO/映像"
+msgstr ""
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Select ISO/Image"
-msgstr "选择 ISO/Image"
+msgstr ""
+
+#~ msgid "Snapshot Filesystem"
+#~ msgstr ""
#. 0: prefill.pool; 1: prefill.dataset; 2: properties.name
#: src/lib/components/custom/ZFS/datasets/snapshots/CreateDetailed.svelte
msgid "Snapshot {0}/{1}@{2} created"
-msgstr "已创建快照 {0}/{1}@{2}"
+msgstr ""
+
+#~ msgid "Use \"{0}\""
+#~ msgstr ""
+
+#~ msgid "Create Snapshot 1"
+#~ msgstr ""
+
+#~ msgid "<0/> Flash File"
+#~ msgstr ""
+
+#~ msgid "Select a file below to flash to the ZFS Volume {0}"
+#~ msgstr ""
+
+#~ msgid "Select a file below to flash to the ZFS Volume <0/>"
+#~ msgstr ""
+
+#~ msgid "<0/> Flash File To ZFS Volume"
+#~ msgstr ""
+
+#~ msgid "Flash File To ZFS Volume"
+#~ msgstr ""
#: src/lib/components/custom/ZFS/datasets/volumes/FlashFile.svelte
msgid "Flash File To Volume"
-msgstr "将文件写入卷"
+msgstr ""
#: src/routes/[node]/utilities/downloader/+page.svelte
msgid "Failed to start download from uploaded file"
-msgstr "无法根据上传的文件进行下载"
+msgstr ""
#: src/routes/[node]/utilities/downloader/+page.svelte
msgid "Upload"
-msgstr "上传"
+msgstr ""
#: src/lib/components/custom/Utilities/Downloader/UploadModal.svelte
msgid "Upload failed"
-msgstr "上传失败"
+msgstr ""
#: src/lib/components/custom/Utilities/Downloader/UploadModal.svelte
msgid "Uploaded file path is invalid"
-msgstr "文件上传路径无效"
+msgstr ""
+
+#~ msgid "Upload destination: <0/>"
+#~ msgstr ""
+
+#~ msgid "File uploaded. Click Download to start."
+#~ msgstr ""
#: src/lib/components/custom/Utilities/Downloader/UploadModal.svelte
msgid "Upload a file first"
-msgstr "请先上传文件"
+msgstr ""
#: src/lib/components/custom/Utilities/Downloader/UploadModal.svelte
msgid "Upload Type"
-msgstr "上传类型"
+msgstr ""
#: src/lib/components/custom/Utilities/Downloader/UploadModal.svelte
msgid "Select Upload Type"
-msgstr "选择上传类型"
+msgstr ""
+
+#~ msgid "Move"
+#~ msgstr ""
#: src/lib/components/custom/Utilities/Downloader/UploadModal.svelte
msgid "Complete Upload"
-msgstr "上传完成"
+msgstr ""
#: src/lib/components/custom/Utilities/Downloader/UploadModal.svelte
msgid "Failed to start move from uploaded file"
-msgstr "无法根据已上传文件进行移动"
+msgstr ""
#: src/lib/components/custom/Utilities/Downloader/UploadModal.svelte
msgid "File uploaded, you can complete upload now"
-msgstr "文件已上传,现在可以结束上传"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "Create new IPv4 Network"
-msgstr "创建新的 IPv4 网络"
+msgstr ""
+
+#~ msgid "Jail - {0} IPv4"
+#~ msgstr ""
#. 0: getDashedDate()
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "IPv4 Network {0}"
-msgstr "IPv4 网络 {0}"
+msgstr ""
+
+#~ msgid "Networks(s)"
+#~ msgstr ""
#. 0: ctId
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "Jail {0} IPv4"
-msgstr "Jail {0} IPv4"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "Create new IPv4 Gateway"
-msgstr "创建新的 IPv4 网关"
+msgstr ""
#. 0: ctId
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "Jail {0} IPv4 GW"
-msgstr "Jail {0} IPv4 网关"
+msgstr ""
#. 0: getDashedDate()
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "IPv4 Gateway {0}"
-msgstr "IPv4 网关 {0}"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "Create new IPv6 Network"
-msgstr "创建新的 IPv6 网络"
+msgstr ""
#. 0: ctId
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "Jail {0} IPv6"
-msgstr "Jail {0} IPv6"
+msgstr ""
#. 0: getDashedDate()
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "IPv6 Network {0}"
-msgstr "IPv6 网络 {0}"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "Create new IPv6 Gateway"
-msgstr "创建新的 IPv6 网关"
+msgstr ""
#. 0: ctId
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "Jail {0} IPv6 GW"
-msgstr "Jail {0} IPv6 网关"
+msgstr ""
#. 0: getDashedDate()
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "IPv6 Gateway {0}"
-msgstr "IPv6 网关 {0}"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "Create new MAC Address"
-msgstr "创建新的 MAC 地址"
+msgstr ""
#. 0: ctId
#: src/lib/components/custom/Jail/Create/Network.svelte
msgid "Jail {0} MAC"
-msgstr "Jail {0} MAC"
+msgstr ""
#: src/routes/[node]/notes/+page.svelte
msgid "<0/> Note"
-msgstr "<0/> 备注"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "VM - Update Name"
-msgstr "虚拟机 - 更新名称"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Jail - Update Name"
-msgstr "Jail - 更新名称"
+msgstr ""
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "VM name updated"
-msgstr "虚拟机名称已更新"
+msgstr ""
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "Error updating VM name"
-msgstr "虚拟机名称更新出错"
+msgstr ""
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "Invalid VM name. Use letters, numbers, - or _."
-msgstr "虚拟机名称无效。请使用字母、数字、- 或 _"
+msgstr ""
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "VM name is already in use"
-msgstr "虚拟机名称已被占用"
+msgstr ""
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "This VM is owned by another node right now"
-msgstr "虚拟机当前由其他节点所有"
+msgstr ""
+
+#~ msgid "VM name"
+#~ msgstr ""
#: src/lib/components/custom/Samba/Share.svelte
msgid "Saving..."
-msgstr "正在保存..."
+msgstr ""
+
+#~ msgid "Save Name"
+#~ msgstr ""
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
#: src/routes/[node]/vm/[rid]/summary/+page.svelte
msgid "Edit Name"
-msgstr "编辑名称"
+msgstr ""
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
msgid "Jail name updated"
-msgstr "Jail 名称已更新"
+msgstr ""
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
msgid "Error updating jail name"
-msgstr "Jail 名称更新出错"
+msgstr ""
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
msgid "Invalid jail name. Use letters, numbers, - or _."
-msgstr "jail 名称无效。请使用字母、数字、- 或 _"
+msgstr ""
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
msgid "Jail name is already in use"
-msgstr "Jail 名称已被占用"
+msgstr ""
#: src/routes/[node]/jail/[ctid]/summary/+page.svelte
msgid "This jail is owned by another node right now"
-msgstr "此 jail 当前属于另一节点"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Storage.svelte
msgid "Select a base/rootfs to add FStab entries"
-msgstr "为 FStab 条目分配基本系统/根分区"
+msgstr ""
#. 0: textToCopy
#. 0: truncated
#: src/lib/components/custom/TreeTable.svelte
#: src/lib/components/custom/TreeTableRemote.svelte
msgid "Copied \"{0}\" to clipboard"
-msgstr "已将 \"{0}\" 复制到剪贴板"
+msgstr ""
#: src/routes/[node]/storage/disks/+page.svelte
msgid "Unused"
-msgstr "未使用"
+msgstr ""
#: src/lib/components/custom/Cluster/Join.svelte
-msgid ""
-"Version mismatch: this node and the leader must run the same Sylve version"
-msgstr "版本不匹配:此节点与领导节点必须运行相同的 Sylve 版本"
+msgid "Version mismatch: this node and the leader must run the same Sylve version"
+msgstr ""
#: src/lib/components/custom/Cluster/Join.svelte
msgid "Login required after joining cluster"
-msgstr "加入集群后需要登录"
+msgstr ""
#: src/lib/components/custom/Jail/Options/WoL.svelte
-msgid ""
-"Setting this option to be <0>on0> will enable Wake on LAN for this jail "
-"for all MAC addresses attached to it"
+msgid "Setting this option to be <0>on0> will enable Wake on LAN for this jail for all MAC addresses attached to it"
msgstr ""
-"将此选项设置为 <0>开启0> 将为该 jail 启用 Wake on LAN 功能,适用于附加到它"
-"的所有 MAC 地址"
#: src/lib/components/custom/VM/Hardware/CPU.svelte
msgid "At least one CPU must be left unpinned"
-msgstr "必须至少保留一个未绑定的 CPU"
+msgstr ""
#: src/lib/components/custom/Network/DHCP/Range/CreateOrEdit.svelte
msgid "Invalid expiry format, resetting to 12h"
-msgstr "过期格式无效,已重置为 12 小时"
+msgstr ""
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Failed to import storage"
-msgstr "存储导入失败"
+msgstr ""
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Storage imported"
-msgstr "存储已导入"
+msgstr ""
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Please select a ZFS filesystem dataset"
-msgstr "请选择 ZFS 文件系统数据集"
+msgstr ""
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Invalid 9P target name (letters, numbers, '.', '_' and '-' only)"
-msgstr "9P 目标名称无效(仅允许使用字母、数字、'.'、'_' 和 '-')。"
+msgstr ""
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Failed to attach storage"
-msgstr "存储附加失败"
+msgstr ""
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Storage attached"
-msgstr "存储已附加"
+msgstr ""
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Select ZFS filesystem"
-msgstr "选择 ZFS 文件系统"
+msgstr ""
+#: src/lib/components/custom/VM/Hardware/Storage.svelte
#: src/lib/components/custom/VM/Hardware/Storage.svelte
msgid "Read-only share"
-msgstr "只读共享"
+msgstr ""
#: src/lib/components/custom/Initialization/Initialize.svelte
#: src/routes/[node]/+layout.svelte
#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
msgid "Firewall"
-msgstr "防火墙"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Toggle - Firewall"
-msgstr "切换 - 防火墙"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Firewall - Traffic Rule"
-msgstr "防火墙 - 流量规则"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Firewall - NAT Rule"
-msgstr "防火墙 - NAT 规则"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Firewall - Advanced Rules"
-msgstr "防火墙 - 高级规则"
+msgstr ""
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/routes/[node]/network/objects/+page.svelte
msgid "FQDN(s)"
-msgstr "FQDN"
+msgstr ""
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/routes/[node]/network/objects/+page.svelte
msgid "List(s)"
-msgstr "列表"
+msgstr ""
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "At least one FQDN must be selected"
-msgstr "必须选择至少一个完全限定域名"
+msgstr ""
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "At least one list URL must be selected"
-msgstr "必须选择至少一个列表 URL"
+msgstr ""
#. 0: fqdn
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "Invalid FQDN: {0}"
-msgstr "无效的 FQDN: {0}"
+msgstr ""
#. 0: entry
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "Invalid list source URL: {0}"
-msgstr "无效的列表源 URL:{0}"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/objects/+page.svelte
msgid "List"
-msgstr "列表"
+msgstr ""
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "FQDNs"
-msgstr "FQDN"
+msgstr ""
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "List URLs"
-msgstr "URL 列表"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Traffic rule name is required"
-msgstr "流量规则名称为必填项"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Traffic rule saved"
-msgstr "流量规则已保存"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Failed to save traffic rule"
-msgstr "流量规则保存失败"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
msgid "Traffic rule deleted"
-msgstr "流量规则已删除"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
msgid "Failed to delete traffic rule"
-msgstr "流量规则删除失败"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Traffic rule order updated"
-msgstr "流量规则顺序已更新"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
msgid "Failed to reorder traffic rules"
-msgstr "流量规则重新排序失败"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "NAT rule name is required"
-msgstr "NAT 规则名称为必填项"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "NAT rule saved"
-msgstr "NAT 规则已保存"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Failed to save NAT rule"
-msgstr "NAT 规则保存失败"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/nat/+page.svelte
msgid "NAT rule deleted"
-msgstr "NAT 规则已删除"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/nat/+page.svelte
msgid "Failed to delete NAT rule"
-msgstr "NAT 规则删除失败"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "NAT rule order updated"
-msgstr "NAT 规则顺序已更新"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/nat/+page.svelte
msgid "Failed to reorder NAT rules"
-msgstr "NAT 规则重新排序失败"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Advanced firewall settings saved"
-msgstr "高级防火墙设置已保存"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Failed to save advanced settings"
-msgstr "高级设置保存失败"
+msgstr ""
#: src/routes/[node]/+layout.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Traffic Rules"
-msgstr "流量规则"
+msgstr ""
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Rule name"
-msgstr "规则名称"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "pass"
-msgstr "允许"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "block"
-msgstr "阻止"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "in"
-msgstr "进"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "out"
-msgstr "出"
+msgstr ""
+#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "any"
-msgstr "任意"
+msgstr ""
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "tcp"
-msgstr "tcp"
+msgstr ""
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "udp"
-msgstr "udp"
+msgstr ""
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "icmp"
-msgstr "icmp"
+msgstr ""
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "inet"
-msgstr "inet"
+msgstr ""
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "inet6"
-msgstr "inet6"
+msgstr ""
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Interfaces (comma separated)"
-msgstr "接口(逗号分隔)"
+msgstr ""
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "<0/> Enabled"
-msgstr "<0/> 已启用"
+msgstr ""
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Source raw (optional)"
-msgstr "源地址原始输入(可选)"
+msgstr ""
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Source object (optional)"
-msgstr "源对象(可选)"
+msgstr ""
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Destination raw (optional)"
-msgstr "目标地址原始输入(可选)"
+msgstr ""
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Destination object (optional)"
-msgstr "目标对象(可选)"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Source ports raw (optional)"
-msgstr "源端口原始输入(可选)"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Source port object (optional)"
-msgstr "源端口对象(可选)"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Destination ports raw (optional)"
-msgstr "目标端口原始输入(可选)"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Destination port object (optional)"
-msgstr "目标端口对象(可选)"
+msgstr ""
#. 0: trafficForm.id > 0 ? 'Update' \\: 'Create'
#: src/routes/[node]/network/firewall/+page.svelte
msgid "{0} Rule"
-msgstr "{0} 规则"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
@@ -9485,144 +10544,165 @@ msgstr "{0} 规则"
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
#: src/routes/[node]/network/firewall/+page.svelte
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/nat/+page.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
#: src/routes/[node]/network/routes/+page.svelte
msgid "Destination"
-msgstr "模板"
+msgstr ""
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Up"
-msgstr "启用"
+msgstr ""
+#: src/routes/[node]/network/firewall/+page.svelte
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Down"
-msgstr "禁用"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "NAT Rules (Outbound)"
-msgstr "NAT 规则(出站)"
+msgstr ""
#. 0: natForm.id > 0 ? 'Update' \\: 'Create'
#: src/routes/[node]/network/firewall/+page.svelte
msgid "{0} NAT Rule"
-msgstr "{0} NAT 规则"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Advanced Settings"
-msgstr "高级设置"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Custom PF text injected globally before and after Sylve anchors."
-msgstr "在 Sylve 锚点前后全局注入的自定义 PF 文本。"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Pre Rules"
-msgstr "前置规则"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Post Rules"
-msgstr "后置规则"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Save Advanced Settings"
-msgstr "保存高级设置"
+msgstr ""
#: src/routes/[node]/network/firewall/+page.svelte
msgid "Interface Reference"
-msgstr "接口引用"
+msgstr ""
#. 0: value.err
#: src/routes/[node]/network/objects/+page.svelte
msgid "Error: {0}"
-msgstr "错误:{0}"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
#: src/routes/[node]/network/objects/+page.svelte
msgid "Pending"
-msgstr "待处理"
+msgstr ""
#: src/routes/[node]/+layout.svelte
msgid "NAT Rules"
-msgstr "NAT 规则"
+msgstr ""
#. 0: id
#. 0: id
#: src/routes/[node]/network/firewall/nat/+page.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
msgid "Object #{0}"
-msgstr "对象 #{0}"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Rule name is required"
-msgstr "规则名称为必填项"
+msgstr ""
#. 0: edit ? 'updated' \\: 'created'
#. 0: edit ? 'updated' \\: 'created'
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "NAT rule {0}"
-msgstr "NAT 规则 {0}"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Protocol"
-msgstr "协议"
+msgstr ""
+
+#~ msgid "Edit NAT Rule"
+#~ msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Create NAT Rule"
-msgstr "创建 NAT 规则"
+msgstr ""
+
+#~ msgid "Available interfaces"
+#~ msgstr ""
#: src/routes/[node]/network/firewall/advanced/+page.svelte
msgid "Advanced firewall settings updated"
-msgstr "高级防火墙设置已更新"
+msgstr ""
#: src/routes/[node]/network/firewall/advanced/+page.svelte
msgid "Failed to update advanced settings"
-msgstr "高级防火墙设置更新失败"
+msgstr ""
+
+#~ msgid "Global PF text injected before and after Sylve anchors in <0/>."
+#~ msgstr ""
+
+#~ msgid "Rules placed before Sylve anchors"
+#~ msgstr ""
+
+#~ msgid "Rules placed after Sylve anchors"
+#~ msgstr ""
#. 0: edit ? 'updated' \\: 'created'
#. 0: edit ? 'updated' \\: 'created'
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Traffic rule {0}"
-msgstr "流量规则 {0}"
+msgstr ""
+
+#~ msgid "Edit Traffic Rule"
+#~ msgstr ""
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Create Traffic Rule"
-msgstr "创建流量规则"
+msgstr ""
#. 0: edit ? 'update' \\: 'create'
#. 0: edit ? 'update' \\: 'create'
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Failed to {0} traffic rule"
-msgstr "流量规则 {0} 失败"
+msgstr ""
#. 0: editingRule.name
#. 0: editingRule.name
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Edit Rule — {0}"
-msgstr "编辑规则 — {0}"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
msgid "Basic Info"
-msgstr "基本信息"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Block External Traffic"
-msgstr "阻止外部流量"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
@@ -9631,24 +10711,24 @@ msgstr "阻止外部流量"
#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Routes/Form.svelte
msgid "Optional description"
-msgstr "可选描述"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Rule Settings"
-msgstr "规则设置"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Select"
-msgstr "选择"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/routes/[node]/network/firewall/logs/+page.svelte
msgid "Direction"
-msgstr "方向"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
@@ -9658,1863 +10738,2286 @@ msgstr "方向"
#: src/lib/components/custom/Network/Routes/Form.svelte
#: src/routes/[node]/network/routes/+page.svelte
msgid "Family"
-msgstr "协议族"
+msgstr ""
+
+#~ msgid "Apply to interfaces"
+#~ msgstr ""
+
+#~ msgid "Any (leave empty for all)"
+#~ msgstr ""
+
+#~ msgid "No interfaces available — rule applies to all."
+#~ msgstr ""
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Source & Destination"
-msgstr "源与目标"
+msgstr ""
+
+#~ msgid "Raw address / CIDR"
+#~ msgstr ""
+
+#~ msgid "or"
+#~ msgstr ""
+
+#~ msgid "Network object"
+#~ msgstr ""
+
+#~ msgid "Select object"
+#~ msgstr ""
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Source Ports"
-msgstr "源端口"
+msgstr ""
+
+#~ msgid "Raw ports"
+#~ msgstr ""
+
+#~ msgid "Port object"
+#~ msgstr ""
+
+#~ msgid "Select port object"
+#~ msgstr ""
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Destination Ports"
-msgstr "模板端口"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
-msgid ""
-"Select a network object or type a raw IP / CIDR. Leave empty to match any."
-msgstr "选择网络对象或输入原始 IP / CIDR。留空则匹配任意。"
+msgid "Select a network object or type a raw IP / CIDR. Leave empty to match any."
+msgstr ""
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
-msgid ""
-"Select a port object or type raw ports (e.g. 80, 443, 8000:9000). Leave "
-"empty for any."
+msgid "Select a port object or type raw ports (e.g. 80, 443, 8000:9000). Leave empty for any."
msgstr ""
-"选择端口对象或输入原始端口(例如 80、443、8000:9000)。留空则匹配任意。"
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
msgid "Pass"
-msgstr "允许"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
msgid "Block"
-msgstr "阻止"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
msgid "In"
-msgstr "进"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
msgid "Out"
-msgstr "出"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/routes/[node]/network/firewall/nat/+page.svelte
+#: src/routes/[node]/network/firewall/nat/+page.svelte
+#: src/routes/[node]/network/firewall/nat/+page.svelte
+#: src/routes/[node]/network/firewall/nat/+page.svelte
+#: src/routes/[node]/network/firewall/traffic/+page.svelte
+#: src/routes/[node]/network/firewall/traffic/+page.svelte
+#: src/routes/[node]/network/firewall/traffic/+page.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
msgid "Any"
-msgstr "任意"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Quick"
-msgstr "立即匹配"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Copied action to clipboard"
-msgstr "已将操作复制到剪贴板"
+msgstr ""
#: src/routes/[node]/network/firewall/nat/+page.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
msgid "Index"
-msgstr "索引"
+msgstr ""
#. 0: edit ? 'update' \\: 'create'
#. 0: edit ? 'update' \\: 'create'
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Failed to {0} NAT rule"
-msgstr "NAT 规则 {0} 失败"
+msgstr ""
#. 0: editingRule.name
#. 0: editingRule.name
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Edit NAT Rule — {0}"
-msgstr "编辑 NAT 规则 — {0}"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Masquerade LAN"
-msgstr "LAN 伪装"
+msgstr ""
#: src/routes/[node]/network/firewall/nat/+page.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
msgid "Ingress"
-msgstr "入口"
+msgstr ""
#: src/routes/[node]/network/firewall/nat/+page.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
msgid "Egress"
-msgstr "出口"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Invalid traffic rule"
-msgstr "无效的流量规则"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Ingress Interfaces"
-msgstr "入口接口"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Any ingress interface"
-msgstr "任意入口接口"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Egress Interfaces"
-msgstr "出口接口"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Any egress interface"
-msgstr "任意出口接口"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "No interfaces available — rule matches on any interface direction."
-msgstr "无可用接口 — 规则匹配任意接口方向。"
+msgstr ""
+
+#~ msgid "DNAT (rdr)"
+#~ msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Interface Address"
-msgstr "接口地址"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Specific Address"
-msgstr "指定地址"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Invalid NAT rule"
-msgstr "NAT 规则无效"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "NAT Type"
-msgstr "NAT 类型"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Directional Interfaces"
-msgstr "有方向的接口"
+msgstr ""
+
+#~ msgid "Not used for SNAT/BINAT"
+#~ msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Not used for DNAT"
-msgstr "不适用于 DNAT"
+msgstr ""
+
+#~ msgid "DNAT requires at least one ingress interface. SNAT/BINAT require at least one egress interface."
+#~ msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
-msgid ""
-"No interfaces available. Add network interfaces before creating NAT rules."
-msgstr "没有可用接口。在创建 NAT 规则之前,请先添加网络接口。"
+msgid "No interfaces available. Add network interfaces before creating NAT rules."
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Source & Destination Match"
-msgstr "源与目标匹配"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Translation"
-msgstr "转换"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Translate Mode"
-msgstr "转换模式"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Translate To"
-msgstr "转换为"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Host object or 198.51.100.50"
-msgstr "主机对象或 198.51.100.50"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
-msgid ""
-"For interface mode, PF uses the selected egress interface address "
-"automatically."
-msgstr "对于接口模式,PF 会自动使用所选出口接口地址。"
+msgid "For interface mode, PF uses the selected egress interface address automatically."
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "DNAT Target"
-msgstr "DNAT 目标"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Target Host"
-msgstr "目标主机"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Host object or 10.0.0.10"
-msgstr "主机对象或 10.0.0.10"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "DNAT Ports"
-msgstr "DNAT 端口"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Match Destination Port"
-msgstr "匹配目标端口"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Port object, 443, or 8000:8080"
-msgstr "端口对象、443 或 8000:8080"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Rewrite To Port"
-msgstr "重写为端口"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Optional target port"
-msgstr "可选目标端口"
+msgstr ""
+
+#~ msgid "Destination/rewrite ports are available only for TCP or UDP DNAT rules."
+#~ msgstr ""
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Not used for outbound rules"
-msgstr "不适用于出站规则"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
msgid "Not used for inbound rules"
-msgstr "不适用于入站规则"
+msgstr ""
#: src/routes/[node]/network/firewall/advanced/+page.svelte
msgid "Advanced Firewall Settings"
-msgstr "高级防火墙设置"
+msgstr ""
#: src/routes/[node]/network/firewall/advanced/+page.svelte
msgid "Global PF rules injected before and after Sylve anchors in <0/>."
-msgstr "在 <0/> 中,Sylve 锚点前后全局注入的 PF 规则。"
+msgstr ""
#: src/routes/[node]/network/firewall/advanced/+page.svelte
-msgid ""
-"Rules here are applied globally and may override managed rules. Use with "
-"caution."
-msgstr "此处的规则为全局应用,可能会覆盖已管理的规则,请谨慎使用。"
+msgid "Rules here are applied globally and may override managed rules. Use with caution."
+msgstr ""
#: src/routes/[node]/network/firewall/advanced/+page.svelte
msgid "<0/> Pre Rules"
-msgstr "<0/> 前置规则"
+msgstr ""
#: src/routes/[node]/network/firewall/advanced/+page.svelte
msgid "Injected before all Sylve-managed anchors."
-msgstr "在所有 Sylve 管理的锚点之前注入。"
+msgstr ""
#: src/routes/[node]/network/firewall/advanced/+page.svelte
msgid "<0/> Post Rules"
-msgstr "<0/> 后置规则"
+msgstr ""
#: src/routes/[node]/network/firewall/advanced/+page.svelte
msgid "Injected after all Sylve-managed anchors."
-msgstr "在所有 Sylve 管理的锚点之后注入。"
+msgstr ""
#: src/routes/[node]/network/firewall/advanced/+page.svelte
msgid "<0/> Changes take effect immediately upon saving."
-msgstr "<0/> 保存更改后立即生效。"
+msgstr ""
#: src/routes/[node]/network/firewall/advanced/+page.svelte
msgid "<0/> Save Settings"
-msgstr "<0/> 保存设置"
+msgstr ""
#: src/routes/[node]/network/firewall/traffic/+page.svelte
msgid "Failed to refresh traffic counters"
-msgstr "流量计数器刷新失败"
+msgstr ""
#: src/routes/[node]/network/firewall/nat/+page.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
msgid "Hits"
-msgstr "命中次数"
+msgstr ""
#: src/routes/[node]/network/firewall/logs/+page.svelte
#: src/routes/[node]/network/firewall/nat/+page.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
msgid "Bytes"
-msgstr "字节"
+msgstr ""
#: src/routes/[node]/network/firewall/nat/+page.svelte
#: src/routes/[node]/network/firewall/traffic/+page.svelte
msgid "Refresh Counters"
-msgstr "刷新计数器"
+msgstr ""
+
+#~ msgid "Counters stale"
+#~ msgstr ""
+
+#~ msgid "Counters updated {0}"
+#~ msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/routes/[node]/network/firewall/nat/+page.svelte
+#: src/routes/[node]/network/firewall/nat/+page.svelte
msgid "Log"
-msgstr "日志"
+msgstr ""
#: src/routes/[node]/network/firewall/logs/+page.svelte
msgid "Failed to refresh firewall logs"
-msgstr "防火墙日志刷新失败"
+msgstr ""
+
+#~ msgid "Clear"
+#~ msgstr ""
+
+#~ msgid "Log stream stale"
+#~ msgstr ""
+
+#~ msgid "Live stream connected"
+#~ msgstr ""
+
+#~ msgid "Live stream unavailable"
+#~ msgstr ""
+
+#~ msgid "Updated {0}"
+#~ msgstr ""
#: src/routes/[node]/network/firewall/logs/+page.svelte
msgid "Time"
-msgstr "时间"
+msgstr ""
#: src/routes/[node]/network/firewall/logs/+page.svelte
msgid "Rule"
-msgstr "规则"
+msgstr ""
#: src/routes/[node]/network/firewall/logs/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Details"
-msgstr "详情"
+msgstr ""
+
+#~ msgid "No firewall hits captured yet."
+#~ msgstr ""
#. 0: d.ruleId
#: src/routes/[node]/network/firewall/logs/+page.svelte
msgid "Rule #{0}"
-msgstr "规则 #{0}"
+msgstr ""
#: src/routes/[node]/network/firewall/nat/+page.svelte
msgid "Failed to refresh NAT counters"
-msgstr "NAT 计数器刷新失败"
+msgstr ""
+
+#~ msgid "Filter…"
+#~ msgstr ""
#: src/lib/components/custom/TreeTableInfinite.svelte
msgid "No log entries captured yet"
-msgstr "尚未捕获日志条目"
+msgstr ""
#: src/routes/[node]/network/firewall/logs/+page.svelte
#: src/routes/[node]/storage/zfs/datasets/snapshots/+page.svelte
msgid "Filter"
-msgstr "过滤器"
+msgstr ""
#: src/routes/[node]/network/firewall/logs/+page.svelte
msgid "Rule Type"
-msgstr "规则类型"
+msgstr ""
#: src/routes/[node]/network/firewall/logs/+page.svelte
msgid "Search"
-msgstr "搜索"
+msgstr ""
#: src/routes/[node]/network/firewall/logs/+page.svelte
msgid "Rule, interface, raw log…"
-msgstr "规则、接口、原始日志…"
+msgstr ""
#: src/routes/[node]/network/firewall/logs/+page.svelte
msgid "Clear all filters"
-msgstr "清除所有过滤器"
+msgstr ""
#: src/routes/[node]/network/firewall/logs/+page.svelte
msgid "type:"
-msgstr "类型:"
+msgstr ""
#: src/routes/[node]/network/firewall/logs/+page.svelte
msgid "action:"
-msgstr "动作:"
+msgstr ""
#: src/routes/[node]/network/firewall/logs/+page.svelte
msgid "dir:"
-msgstr "目录:"
+msgstr ""
#: src/routes/[node]/network/firewall/logs/+page.svelte
msgid "search:"
-msgstr "搜索:"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
#: src/routes/[node]/network/interfaces/+page.svelte
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
+#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "WireGuard Server"
-msgstr "WireGuard 服务器"
+msgstr ""
+
+#~ msgid "WireGuard Clients"
+#~ msgstr ""
#: src/lib/components/custom/Initialization/Initialize.svelte
#: src/routes/[node]/+layout.svelte
#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
+#: src/routes/[node]/settings/system/+page.svelte
msgid "WireGuard"
-msgstr "WireGuard"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "Toggle - WireGuard"
-msgstr "切换 - WireGuard"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "WireGuard - Server"
-msgstr "WireGuard - 服务器"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "WireGuard - Server Toggle"
-msgstr "WireGuard - 服务器切换"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "WireGuard - Server Peer"
-msgstr "WireGuard - 服务器节点"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "WireGuard - Client"
-msgstr "WireGuard - 客户端"
+msgstr ""
#: src/lib/components/skeleton/BottomPanel.svelte
msgid "WireGuard - Client Toggle"
-msgstr "WireGuard - 客户端切换"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "WireGuard service is disabled"
-msgstr "WireGuard 服务器已禁用"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "WireGuard server initialized"
-msgstr "WireGuard 服务器初始化完成"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "WireGuard server updated"
-msgstr "WireGuard 服务器已更新"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Failed to save WireGuard server"
-msgstr "WireGuard 服务器保存失败"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "WireGuard server toggled"
-msgstr "WireGuard 服务器已切换"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Failed to toggle WireGuard server"
-msgstr "WireGuard 服务器切换失败"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "WireGuard server deinitialized"
-msgstr "WireGuard 服务器已反初始化"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Failed to deinitialize WireGuard server"
-msgstr "WireGuard 服务器反初始化失败"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Peer updated"
-msgstr "节点已更新"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Peer added"
-msgstr "节点已添加"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Failed to save peer"
-msgstr "节点保存失败"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Peer toggled"
-msgstr "节点已切换"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Failed to toggle peer"
-msgstr "节点切换失败"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Peer removed"
-msgstr "节点已移除"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Failed to remove peer"
-msgstr "节点移除失败"
+msgstr ""
+
+#~ msgid "PrivateKey = {0}"
+#~ msgstr ""
+
+#~ msgid "Address = {0}"
+#~ msgstr ""
+
+#~ msgid "PublicKey = {0}"
+#~ msgstr ""
+
+#~ msgid "Endpoint = :{0}"
+#~ msgstr ""
+
+#~ msgid "AllowedIPs = {0}"
+#~ msgstr ""
+
+#~ msgid "PresharedKey = {0}"
+#~ msgstr ""
+
+#~ msgid "PersistentKeepalive = 25"
+#~ msgstr ""
+
+#~ msgid "Peer config copied"
+#~ msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
-msgid ""
-"WireGuard service is disabled. Enable it from System Settings to manage "
-"runtime configuration."
-msgstr "WireGuard 服务已禁用。请在系统设置中启用它以管理运行时配置。"
+msgid "WireGuard service is disabled. Enable it from System Settings to manage runtime configuration."
+msgstr ""
+
+#~ msgid "Configure the deterministic server interface `wgs0`."
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Listen Port"
-msgstr "监听端口"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Interface Addresses"
-msgstr "接口地址"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "One CIDR per line"
-msgstr "每行一个 CIDR"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Disable Server"
-msgstr "禁用服务器"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Enable Server"
-msgstr "启用服务器"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "<0/> Deinitialize"
-msgstr "<0/> 反初始化"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Last Restart"
-msgstr "上次重启"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Peers"
-msgstr "节点"
+msgstr ""
+
+#~ msgid "Manage inbound peers and export client config."
+#~ msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "<0/> Add Peer"
-msgstr "<0/> 添加节点"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Initialize the server first to manage peers."
-msgstr "请先初始化服务器再管理节点。"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/PeerList.svelte
msgid "No peers configured yet."
-msgstr "尚未配置任何节点。"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
#: src/lib/components/custom/Network/WireGuard/Server/PeerList.svelte
msgid "Client IPs"
-msgstr "客户端 IP"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
#: src/lib/components/custom/Network/WireGuard/Server/PeerList.svelte
msgid "Routable IPs"
-msgstr "可路由 IP"
+msgstr ""
+
+#~ msgid "Handshake"
+#~ msgstr ""
+
+#~ msgid "Export"
+#~ msgstr ""
+
+#~ msgid "Edit Peer"
+#~ msgstr ""
+
+#~ msgid "Add Peer"
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Peer Name"
-msgstr "节点名称"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Optional, one CIDR per line"
-msgstr "可选,每行一个 CIDR"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Pre-shared Key"
-msgstr "预共享密钥"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Persistent Keepalive"
-msgstr "持续保活"
+msgstr ""
+
+#~ msgid "Route IPs"
+#~ msgstr ""
+
+#~ msgid "Save Peer"
+#~ msgstr ""
+
+#~ msgid "Peer Config Preview"
+#~ msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
-msgid ""
-"This will remove the WireGuard server runtime state and peer records. "
-"Continue?"
-msgstr "将移除 WireGuard 服务器的运行时状态和节点记录。是否继续?"
+msgid "This will remove the WireGuard server runtime state and peer records. Continue?"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "WireGuard Peer"
-msgstr "WireGuard 节点"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "This action removes the selected peer. Continue?"
-msgstr "此操作将移除所选节点。是否继续?"
+msgstr ""
+
+#~ msgid "Client updated"
+#~ msgstr ""
+
+#~ msgid "Client created"
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Failed to save client"
-msgstr "客户端保存失败"
+msgstr ""
+
+#~ msgid "Client toggled"
+#~ msgstr ""
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "Failed to toggle client"
-msgstr "客户端切换失败"
+msgstr ""
+
+#~ msgid "Client removed"
+#~ msgstr ""
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "Failed to remove client"
-msgstr "客户端删除失败"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
-msgid ""
-"WireGuard service is disabled. Enable it from System Settings to manage "
-"clients."
-msgstr "WireGuard 服务已禁用。请在系统设置中启用它再管理客户端。"
+msgid "WireGuard service is disabled. Enable it from System Settings to manage clients."
+msgstr ""
+
+#~ msgid "Manage deterministic client interfaces (`wgc`) for outbound WireGuard tunnels."
+#~ msgstr ""
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "<0/> New Client"
-msgstr "<0/> 新建客户端"
+msgstr ""
+
+#~ msgid "No clients configured."
+#~ msgstr ""
+
+#~ msgid "Endpoint: {0}:{1}"
+#~ msgstr ""
+
+#~ msgid "RX / TX: {0} / {1}"
+#~ msgstr ""
+
+#~ msgid "Uptime: {0}"
+#~ msgstr ""
+
+#~ msgid "Last Handshake: {0}"
+#~ msgstr ""
+
+#~ msgid "Interface: wgc{0}"
+#~ msgstr ""
+
+#~ msgid "Edit Client"
+#~ msgstr ""
+
+#~ msgid "Create Client"
+#~ msgstr ""
+
+#~ msgid "Private keys are generated by backend automatically."
+#~ msgstr ""
+
+#~ msgid "Remote Site"
+#~ msgstr ""
+
+#~ msgid "Endpoint Host"
+#~ msgstr ""
+
+#~ msgid "Endpoint Port"
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Peer Public Key"
-msgstr "节点公钥"
+msgstr ""
+
+#~ msgid "Required"
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Addresses"
-msgstr "地址"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
msgid "Allowed IPs"
-msgstr "允许的 IP"
+msgstr ""
+
+#~ msgid "No Host Routes"
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Route Allowed IPs"
-msgstr "路由允许的 IP"
+msgstr ""
+
+#~ msgid "Save Client"
+#~ msgstr ""
+
+#~ msgid "WireGuard Client"
+#~ msgstr ""
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "This action removes the selected WireGuard client. Continue?"
-msgstr "此操作将移除所选的 WireGuard 客户端。是否继续?"
+msgstr ""
+
+#~ msgid "Provide the local private key for this outbound client."
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Private Key"
-msgstr "私钥"
+msgstr ""
#: src/routes/[node]/+layout.svelte
msgid "Server"
-msgstr "服务器"
+msgstr ""
#: src/routes/[node]/+layout.svelte
msgid "Clients"
-msgstr "客户端"
+msgstr ""
#. 0: gw
#: src/routes/[node]/network/firewall/nat/+page.svelte
msgid "On ({0})"
-msgstr "已启用 ({0})"
+msgstr ""
#: src/routes/[node]/network/firewall/nat/+page.svelte
msgid "On"
-msgstr "启用"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
#: src/routes/[node]/network/firewall/nat/+page.svelte
msgid "Policy Routing"
-msgstr "策略路由"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Enable policy routing"
-msgstr "启用策略路由"
+msgstr ""
+
+#~ msgid "Policy route gateway (optional)"
+#~ msgstr ""
+
+#~ msgid "When enabled, exactly one egress interface is required. Optional gateway must match the rule family (IPv4 for inet, IPv6 for inet6)."
+#~ msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Policy route gateway"
-msgstr "策略路由网关"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
-msgid ""
-"When enabled, exactly one egress interface and a gateway are required. "
-"Gateway must match the rule family (IPv4 for inet, IPv6 for inet6)."
+msgid "When enabled, exactly one egress interface and a gateway are required. Gateway must match the rule family (IPv4 for inet, IPv6 for inet6)."
msgstr ""
-"启用后,必须指定唯一的出口接口和网关。网关必须与规则类型匹配(IPv4 对应 "
-"inet,IPv6 对应 inet6)。"
#: src/routes/[node]/+layout.svelte
msgid "Routes"
-msgstr "路由"
+msgstr ""
#: src/routes/[node]/network/firewall/nat/+page.svelte
msgid "No route suggestion available for this NAT rule"
-msgstr "此 NAT 规则暂无路由建议"
+msgstr ""
#: src/routes/[node]/network/firewall/nat/+page.svelte
msgid "Route Helper"
-msgstr "路由助手"
+msgstr ""
#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Routes/Form.svelte
#: src/lib/components/custom/Network/Routes/Form.svelte
msgid "Gateway"
-msgstr "网关"
+msgstr ""
#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Routes/Form.svelte
msgid "Invalid route"
-msgstr "无效的路由"
+msgstr ""
#. 0: edit ? 'updated' \\: 'created'
#. 0: edit ? 'updated' \\: 'created'
#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Routes/Form.svelte
msgid "Route {0}"
-msgstr "路由 {0}"
+msgstr ""
#. 0: edit ? 'update' \\: 'create'
#. 0: edit ? 'update' \\: 'create'
#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Routes/Form.svelte
msgid "Failed to {0} route"
-msgstr "无法路由到 {0}"
+msgstr ""
#. 0: editingRoute.name
#. 0: editingRoute.name
#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Routes/Form.svelte
msgid "Edit Route — {0}"
-msgstr "编辑路由 — {0}"
+msgstr ""
#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Routes/Form.svelte
msgid "Create Route"
-msgstr "创建路由"
+msgstr ""
#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Routes/Form.svelte
msgid "Suggestion"
-msgstr "建议"
+msgstr ""
#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Routes/Form.svelte
msgid "LAN return route"
-msgstr "局域网回程路由"
+msgstr ""
#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
msgid "Destination Type"
-msgstr "目标类型"
+msgstr ""
#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
msgid "Next Hop Mode"
-msgstr "下一跳模式"
+msgstr ""
#: src/lib/components/custom/Network/Routes/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Routes/Form.svelte
msgid "Select interface"
-msgstr "选择接口"
+msgstr ""
#: src/routes/[node]/network/routes/+page.svelte
msgid "Next Hop"
-msgstr "下一跳"
+msgstr ""
+
+#~ msgid "Gateway: {0}"
+#~ msgstr ""
+
+#~ msgid "Iface: {0}"
+#~ msgstr ""
#. 0: String(activeRow?.name ?? '')
#: src/routes/[node]/network/routes/+page.svelte
msgid "Route {0} deleted"
-msgstr "路由 {0} 已删除"
+msgstr ""
#: src/routes/[node]/network/routes/+page.svelte
msgid "Failed to delete route"
-msgstr "路由删除失败"
+msgstr ""
+
+#~ msgid "Iface: {0} ({1})"
+#~ msgstr ""
+
+#~ msgid "Network: {0}"
+#~ msgstr ""
+
+#~ msgid "Host: {0}"
+#~ msgstr ""
#. 0: String(cell.getValue() ?? '')
#: src/routes/[node]/network/routes/+page.svelte
msgid "Network → {0}"
-msgstr "网络 → {0}"
+msgstr ""
#. 0: String(cell.getValue() ?? '')
#: src/routes/[node]/network/routes/+page.svelte
msgid "Host → {0}"
-msgstr "主机 → {0}"
+msgstr ""
#: src/lib/components/custom/TreeTable.svelte
#: src/lib/components/custom/TreeTableInfinite.svelte
#: src/lib/components/custom/TreeTableRemote.svelte
msgid "Columns"
-msgstr "列"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/Traffic/Form.svelte
-msgid ""
-"Select a network object or type a raw IP / CIDR, leave empty to match any."
-msgstr "选择网络对象或输入原始 IP / CIDR,留空以匹配任意。"
+msgid "Select a network object or type a raw IP / CIDR, leave empty to match any."
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Optional scope for policy routing"
-msgstr "策略路由的可选作用域"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
msgid "Enable policy routing to scope ingress"
-msgstr "启用策略路由以作用于入口流量"
+msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/CreateOrEdit.svelte
-msgid ""
-"DNAT requires at least one ingress interface. SNAT/BINAT require at least "
-"one egress interface; ingress is optional and only used for policy routing "
-"scope."
+msgid "DNAT requires at least one ingress interface. SNAT/BINAT require at least one egress interface; ingress is optional and only used for policy routing scope."
msgstr ""
-"DNAT 至少需要一个入口接口。SNAT/BINAT 至少需要一个出口接口;入口接口为可选,"
-"仅用于策略路由作用域。"
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
-msgid ""
-"When enabled, exactly one egress interface and a gateway are required. "
-"Gateway must match the rule family."
-msgstr "启用后,必须指定唯一的出口接口和网关。网关必须与规则类型匹配。"
+msgid "When enabled, exactly one egress interface and a gateway are required. Gateway must match the rule family."
+msgstr ""
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/routes/[node]/network/objects/+page.svelte
msgid "Port(s)"
-msgstr "端口"
+msgstr ""
+#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "At least one port must be selected"
-msgstr "必须至少指定一个端口"
+msgstr ""
#. 0: port
#: src/lib/components/custom/Network/Objects/CreateOrEdit.svelte
msgid "Invalid port token: {0}"
-msgstr "端口标记无效:{0}"
+msgstr ""
+
+#~ msgid "DNAT requires at least one ingress interface. and SNAT/BINAT require at least one egress interface; ingress is optional and only used for policy routing scope."
+#~ msgstr ""
#: src/lib/components/custom/Network/Firewall/NAT/Form.svelte
-msgid ""
-"DNAT needs an ingress interface. SNAT/BINAT need an egress interface; "
-"ingress is optional (for policy routing scope)."
+msgid "DNAT needs an ingress interface. SNAT/BINAT need an egress interface; ingress is optional (for policy routing scope)."
msgstr ""
-"DNAT 需要入口接口。SNAT/BINAT 需要出口接口;入口接口为可选(用于策略路由作用"
-"域)。"
#: src/routes/[node]/network/firewall/logs/+page.svelte
msgid "Connecting"
-msgstr "正在连接"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/PeerList.svelte
#: src/routes/[node]/network/firewall/logs/+page.svelte
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Connected"
-msgstr "已连接"
+msgstr ""
#: src/routes/[node]/network/firewall/logs/+page.svelte
msgid "Resume live log streaming"
-msgstr "恢复实时日志流"
+msgstr ""
#: src/routes/[node]/network/firewall/logs/+page.svelte
msgid "Pause live log streaming"
-msgstr "暂停实时日志流"
+msgstr ""
#: src/routes/[node]/network/firewall/logs/+page.svelte
msgid "<0/> Paused"
-msgstr "<0/> 已暂停"
+msgstr ""
+
+#~ msgid "Invalid private key — must be a valid 32-byte base64-encoded WireGuard key"
+#~ msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Auto-generated if empty"
-msgstr "为空则自动填充"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Generate new keypair"
-msgstr "生成新密钥对"
+msgstr ""
#: src/lib/components/ui/custom-input/value.svelte
msgid "Help Information"
-msgstr "帮助信息"
+msgstr ""
+
+#~ msgid "Generate random private address"
+#~ msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Generate random private addresses"
-msgstr "生成随机私有地址"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
-msgid ""
-"Invalid private key - must be a valid 32-byte base64-encoded WireGuard key"
-msgstr "私钥无效——必须是有效的 32 字节 Base64 编码 WireGuard 密钥"
+msgid "Invalid private key - must be a valid 32-byte base64-encoded WireGuard key"
+msgstr ""
+
+#~ msgid "Hide"
+#~ msgstr ""
+
+#~ msgid "Show"
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Peer name is required"
-msgstr "节点名称为必填项"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "At least one client IP is required"
-msgstr "至少需要一个客户端 IP"
+msgstr ""
+
+#~ msgid "Edit Peer — {0}"
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Add New Peer"
-msgstr "添加新节点"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Configure identity and routing for a WireGuard peer connection."
-msgstr "为 WireGuard 对等连接配置身份与路由。"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "<0/> Basic"
-msgstr "<0/> 基础"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "<0/> Keys"
-msgstr "<0/> 密钥"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "<0/> Routing"
-msgstr "<0/> 路由"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Randy's Phone"
-msgstr "Randy 的手机"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Disabled peers cannot connect to the server."
-msgstr "已禁用的节点无法连接到服务器。"
+msgstr ""
+
+#~ msgid "Enable Persistent Keepalive"
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Recommended for peers behind NAT to maintain a stable connection."
-msgstr "建议启用处于 NAT 后的节点,以保持连接稳定。"
+msgstr ""
+
+#~ msgid "<0/> Auto-generate Pre-shared Key"
+#~ msgstr ""
+
+#~ msgid "Use this peer to route the above IPs"
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Create Peer"
-msgstr "创建节点"
+msgstr ""
+
+#~ msgid "Leave empty to auto-generate"
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Public Key"
-msgstr "公钥"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Computed from private key"
-msgstr "由私钥计算得出"
+msgstr ""
+
+#~ msgid "<0/> Auto-generate All Keys"
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Auto-generate next available IPs from server subnet"
-msgstr "从服务器子网自动生成下一个可用 IP"
+msgstr ""
+
+#~ msgid "<0/> Auto generate All Keys"
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "<0/> Auto Generate All Keys"
-msgstr "<0/> 自动生成所有密钥"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Leave empty to auto generate"
-msgstr "留空以自动生成"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Route above IPs"
-msgstr "路由上述 IP"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/PeerList.svelte
msgid "Export config"
-msgstr "导出配置"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/PeerList.svelte
msgid "Delete peer"
-msgstr "删除节点"
+msgstr ""
#. 0: peer?.name ?? ''
#: src/lib/components/custom/Network/WireGuard/Server/Peer.svelte
msgid "Edit Peer - {0}"
-msgstr "编辑节点 - {0}"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/PeerList.svelte
msgid "No recent handshake"
-msgstr "暂无最近握手"
+msgstr ""
+
+#~ msgid "Export Peer — {0}"
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
msgid "Review, edit, and export the peer configuration for distribution."
-msgstr "查看、编辑并导出节点配置以便分发。"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
msgid "<0/> Edit"
-msgstr "<0/> 编辑"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
msgid "Fill in all required fields first"
-msgstr "请先填写所有必填字段"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
msgid "<0/> Export"
-msgstr "<0/> 导出"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
msgid "Endpoint Address"
-msgstr "终端地址"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
msgid "Reset to WireGuard subnets"
-msgstr "重置为 WireGuard 子网"
+msgstr ""
+
+#~ msgid "<0/> Route All Traffic"
+#~ msgstr ""
+
+#~ msgid "<0/> Continue to Export"
+#~ msgstr ""
+
+#~ msgid "Scan to import on a mobile device."
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
msgid "Copy configuration"
-msgstr "复制配置"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
msgid "<0/> View Configuration Text"
-msgstr "<0/> 查看配置文本"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
msgid "<0/> View QR Code"
-msgstr "<0/> 查看二维码"
+msgstr ""
#. 0: peer.name
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
msgid "WireGuard-{0}.conf"
-msgstr "WireGuard-{0}.conf"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
msgid "<0/> Download Config"
-msgstr "<0/> 下载配置"
+msgstr ""
#. 0: peer.name
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
msgid "WireGuard-{0}.png"
-msgstr "WireGuard-{0}.png"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
msgid "<0/> Download QR"
-msgstr "<0/> 下载二维码"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
msgid "Route All Traffic"
-msgstr "路由所有流量"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
msgid "Persistent Keepalive (25s)"
-msgstr "持续保活(25 秒)"
+msgstr ""
#. 0: peer.name
#: src/lib/components/custom/Network/WireGuard/Server/Export.svelte
msgid "Export Peer - {0}"
-msgstr "导出节点 - {0}"
+msgstr ""
+
+#~ msgid "Auto generated WireGuard allow rule"
+#~ msgstr ""
+
+#~ msgid "Allow WireGuard"
+#~ msgstr ""
+
+#~ msgid "WireGuard firewall rule created"
+#~ msgstr ""
+
+#~ msgid "Failed to create WireGuard firewall rule"
+#~ msgstr ""
+
+#~ msgid "WireGuard firewall rule removed"
+#~ msgstr ""
+
+#~ msgid "Failed to remove WireGuard firewall rule"
+#~ msgstr ""
+
+#~ msgid "Allow WireGuard traffic in firewall (UDP port {0})"
+#~ msgstr ""
+
+#~ msgid "Manage inbound peers and client config."
+#~ msgstr ""
+
+#~ msgid "Manage inbound peers and client config"
+#~ msgstr ""
#. 0: name
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "Client \"{0}\" removed"
-msgstr "客户端 \"{0}\" 已移除"
+msgstr ""
#. 0: name; 1: status === 'disabled' ? 'enabled' \\: 'disabled'
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "Client \"{0}\" {1}"
-msgstr "客户端 \"{0}\" {1}"
+msgstr ""
#. 0: modals.data.name
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "Enable WireGuard client \"{0}\"?"
-msgstr "要启用 WireGuard 客户端 \"{0}\" 吗?"
+msgstr ""
#. 0: modals.data.name
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "Disable WireGuard client \"{0}\"?"
-msgstr "禁用 WireGuard 客户端 \"{0}\"?"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "Outbound Clients"
-msgstr "出口客户端"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
-msgid ""
-"Manage independent WireGuard instances that connect to remote endpoints."
-msgstr "管理连接到远程端点的独立 WireGuard 实例。"
+msgid "Manage independent WireGuard instances that connect to remote endpoints."
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "Downloaded"
-msgstr "已下载"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "Uploaded"
-msgstr "已上传"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "<0/> Interface"
-msgstr "<0/> 接口"
+msgstr ""
#. 0: client.id
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "wgc{0}"
-msgstr "wgc{0}"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "<0/> Last Handshake"
-msgstr "<0/> 上次握手"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "<0/> Enable"
-msgstr "<0/> 启用"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "<0/> Disable"
-msgstr "<0/> 禁用"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "Add New Client"
-msgstr "添加新建客户端"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/clients/+page.svelte
msgid "Configure a new independent tunnel to a remote WireGuard endpoint"
-msgstr "配置一个新的独立隧道以连接远程 WireGuard 端点"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "PrivateKey"
-msgstr "私钥"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "ListenPort"
-msgstr "监听端口"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "PublicKey"
-msgstr "公钥"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "AllowedIPs"
-msgstr "允许的 IP"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "PresharedKey"
-msgstr "预共享密钥"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "PersistentKeepalive"
-msgstr "持续保活"
+msgstr ""
#. 0: sourceName
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Config imported from {0}"
-msgstr "已从 {0} 导入配置"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Failed to parse config file"
-msgstr "配置文件解析失败"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Please upload a .conf or .txt file"
-msgstr "请上传 .conf 或 .txt 文件"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Instance name is required"
-msgstr "实例名称为必填项"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Remote endpoint host is required"
-msgstr "远程端点主机为必填项"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Peer public key is required"
-msgstr "节点公钥为必填项"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Private key is required"
-msgstr "私钥为必填项"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "At least one allowed IP is required"
-msgstr "至少需要一个允许的 IP"
+msgstr ""
#. 0: form.name
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Client \"{0}\" updated"
-msgstr "客户端 \"{0}\" 已更新"
+msgstr ""
#. 0: form.name
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Client \"{0}\" created"
-msgstr "客户端 \"{0}\" 已创建"
+msgstr ""
+
+#~ msgid "Edit Client — {0}"
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "New Outbound Client"
-msgstr "新出口客户端"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Configure an independent connection to a remote WireGuard endpoint."
-msgstr "配置独立连接来连接远程 WireGuard 端点。"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Config auto-populated from file"
-msgstr "已从文件自动填充配置"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Import .conf file to auto-populate fields"
-msgstr "导入 .conf 文件以自动填充字段"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "<0/> Basic Configuration"
-msgstr "<0/> 基础配置"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Instance Name"
-msgstr "实例名称"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Office — Dubai"
-msgstr "办公室 — 迪拜"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Remote Host"
-msgstr "远程主机"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Remote Port"
-msgstr "远程端口"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Peer's public key…"
-msgstr "节点的公钥…"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Your Private Key"
-msgstr "你的私钥"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Your private key…"
-msgstr "你的私钥…"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "<0/> Advanced Options"
-msgstr "<0/> 高级选项"
+msgstr ""
+
+#~ msgid "0 = random"
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Interface Metric"
-msgstr "接口度量"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Pre-Shared Key"
-msgstr "预共享密钥"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Optional PSK…"
-msgstr "可选预共享密钥…"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Initialize Client"
-msgstr "初始化客户端"
+msgstr ""
#. 0: client.name
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Edit Client - {0}"
-msgstr "编辑客户端 - {0}"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Allow WireGuard Port"
-msgstr "允许 WireGuard 端口"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Masquerade IPv4"
-msgstr "IPv4 伪装"
+msgstr ""
#: src/routes/[node]/network/vpn/wireguard/server/+page.svelte
msgid "Masquerade IPv6"
-msgstr "IPv6 伪装"
+msgstr ""
+
+#~ msgid "Paste a config first"
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Import Config"
-msgstr "导入配置"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "<0/> File"
-msgstr "<0/> 文件"
+msgstr ""
+
+#~ msgid "Apply Config"
+#~ msgstr ""
+
+#~ msgid "Paste WireGuard Config"
+#~ msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "One address per line"
-msgstr "每行一个地址"
+msgstr ""
#: src/lib/components/custom/Network/WireGuard/Client/Form.svelte
msgid "Set a specific local port to listen on. Leave as 0 to auto-assign."
-msgstr "设置要监听的特定本地端口。留空或填 0 以自动分配。"
+msgstr ""
#: src/routes/+layout.svelte
msgid "Connection lost"
-msgstr "连接丢失"
+msgstr ""
#: src/routes/+layout.svelte
msgid "Trying to reconnect to the server…"
-msgstr "正在尝试重新连接到服务器…"
+msgstr ""
+#: src/routes/[node]/storage/samba/settings/+page.svelte
#: src/routes/[node]/storage/samba/settings/+page.svelte
msgid "Apple Extensions"
-msgstr "Apple 扩展"
+msgstr ""
#: src/lib/components/custom/Samba/Share.svelte
msgid "Time Machine"
-msgstr "时间机器"
+msgstr ""
+
+#~ msgid "Time Machine Max Size (GB, 0 = unlimited)"
+#~ msgstr ""
+
+#~ msgid "Time Machine Max Size"
+#~ msgstr ""
#. 0: o!.name
#: src/routes/[node]/network/objects/+page.svelte
msgid "Object '{0}' is in use and cannot be deleted"
-msgstr "对象 '{0}' 正在使用中,无法删除"
+msgstr ""
#: src/routes/[node]/network/objects/+page.svelte
msgid "Failed to delete objects"
-msgstr "对象删除失败"
+msgstr ""
+
+#~ msgid "This will permanently delete {0} objects"
+#~ msgstr ""
#. 0: modals.bulkDelete.count
#: src/routes/[node]/network/objects/+page.svelte
msgid "This will permanently delete {0} network objects"
-msgstr "将永久删除 {0} 个网络对象"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Storage.svelte
msgid "Bootstrap a base"
-msgstr "自举一个基本系统"
+msgstr ""
+#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "Queued..."
-msgstr "已加入队列..."
+msgstr ""
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "Creating ZFS dataset..."
-msgstr "正在创建 ZFS 数据集..."
+msgstr ""
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "Copying signing keys..."
-msgstr "正在复制签名密钥..."
+msgstr ""
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "Writing repository config..."
-msgstr "正在写入存储库配置..."
+msgstr ""
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "Fetching package index..."
-msgstr "正在获取软件包索引..."
+msgstr ""
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "Installing packages..."
-msgstr "正在安装软件包..."
+msgstr ""
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "Writing jail config..."
-msgstr "正在写入 Jail 配置..."
+msgstr ""
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "Pre-flight checks..."
-msgstr "正在执行预检查..."
+msgstr ""
#. 0: msg
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "Bootstrap failed to start: {0}"
-msgstr "自举失败:{0}"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "Bootstrap Jail Bases"
-msgstr "自举 Jail 基本系统"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "<0/> Loading..."
-msgstr "<0/> 正在加载..."
+msgstr ""
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "No supported versions available."
-msgstr "没有受支持的版本可用。"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "Unknown error"
-msgstr "未知错误"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "<0/> Installed"
-msgstr "<0/> 已安装"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "Retry"
-msgstr "重试"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "Bootstrap"
-msgstr "自举"
+msgstr ""
#. 0: msg
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "Failed to delete bootstrap: {0}"
-msgstr "自举删除失败:{0}"
+msgstr ""
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
msgid "Delete bootstrap"
-msgstr "删除自举"
+msgstr ""
+
+#~ msgid "Select a jail base to bootstrap with the help of pkgbase. This will create a new ZFS dataset with the selected base and install the necessary packages to make it a valid jail root. Once bootstrapped, you can select this base when creating a new jail."
+#~ msgstr ""
#: src/lib/components/custom/Jail/Create/Bootstrap.svelte
-msgid ""
-"Bootstrap a directory with pkgbase to create a jail base. This sets up the "
-"required files in a ZFS dataset, which can then be used to create new jails."
+msgid "Bootstrap a directory with pkgbase to create a jail base. This sets up the required files in a ZFS dataset, which can then be used to create new jails."
msgstr ""
-"使用 pkgbase 自举一个目录以创建 jail 基础环境。将在 ZFS 数据集中设置所需文"
-"件,随后可用于创建新 jail。"
#: src/routes/[node]/+layout.svelte
msgid "Initiators"
-msgstr "Initiator"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Failed to create initiator"
-msgstr "Initiator 创建失败"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Initiator created"
-msgstr "Initiator 已创建"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Failed to update initiator"
-msgstr "Initiator 更新失败"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Initiator updated"
-msgstr "Initiator 已更新"
+msgstr ""
+#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Nickname"
-msgstr "别名"
+msgstr ""
+#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Target Address"
-msgstr "Target 地址"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Target Name"
-msgstr "Target 名称"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
+#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Auth Method"
-msgstr "认证方式"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Not connected"
-msgstr "无连接"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Target Name (IQN)"
-msgstr "Target 名称 (IQN)"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Initiator Name (IQN, optional)"
-msgstr "Initiator 名称(IQN,可选)"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "CHAP (one-way)"
-msgstr "CHAP(单向认证)"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
+#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
+#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
+#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
+#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "MutualCHAP"
-msgstr "双向 CHAP"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "MutualCHAP (two-way)"
-msgstr "双向 CHAP(双向认证)"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "CHAP Name"
-msgstr "CHAP 名称"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "CHAP Secret"
-msgstr "CHAP 密钥"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Target CHAP Name"
-msgstr "Target CHAP 名称"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Target CHAP Secret"
-msgstr "Target CHAP 密钥"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Edit Initiator"
-msgstr "编辑 Initiator"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Delete Initiator"
-msgstr "删除 Initiator"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "New iSCSI Initiator"
-msgstr "新建 iSCSI Initiator"
+msgstr ""
+
+#~ msgid "Configure a new iSCSI initiator connection."
+#~ msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Edit iSCSI Initiator"
-msgstr "编辑 iSCSI Initiator"
+msgstr ""
+
+#~ msgid "Update the iSCSI initiator configuration."
+#~ msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Failed to delete initiator"
-msgstr "Initiator 删除失败"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Initiator deleted"
-msgstr "已删除 Initiator"
+msgstr ""
+
+#~ msgid "CHAP Secret must be 12–16 characters (RFC 3720)"
+#~ msgstr ""
+
+#~ msgid "Target CHAP Secret must be 12–16 characters (RFC 3720)"
+#~ msgstr ""
+
+#~ msgid "Initiator Name <0>(IQN, optional)0>"
+#~ msgstr ""
+
+#~ msgid "<0/> Initiator CHAP Credentials"
+#~ msgstr ""
+
+#~ msgid "CHAP Secret <0>(12–16 chars)0>"
+#~ msgstr ""
+
+#~ msgid "<0/> Target CHAP Credentials"
+#~ msgstr ""
+
+#~ msgid "Target CHAP Secret <0>(12–16 chars)0>"
+#~ msgstr ""
+
+#~ msgid "CHAP Secret (12–16 chars)"
+#~ msgstr ""
+
+#~ msgid "Target CHAP Secret (12–16 chars)"
+#~ msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
+#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Password (12-16 characters)"
-msgstr "密码 (12-16 字符)"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
+#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Must be 12-16 characters (RFC 3720)"
-msgstr "必须为 12-16 字符 (RFC 3720)"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "CHAP Secret must be 12-16 characters (RFC 3720)"
-msgstr "CHAP 密钥长度须为 12-16 个字符(RFC 3720)"
+msgstr ""
#: src/routes/[node]/storage/iscsi/initiators/+page.svelte
msgid "Target CHAP Secret must be 12-16 characters (RFC 3720)"
-msgstr "Target CHAP 密钥必须为 12-16 个字符(参见 RFC 3720)"
+msgstr ""
+
+#~ msgid "Test"
+#~ msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Mutual CHAP Secret must be 12-16 characters (RFC 3720)"
-msgstr "双向 CHAP 密钥长度须为 12-16 个字符(RFC 3720)"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Target created"
-msgstr "Target 已创建"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Target updated"
-msgstr "Target 已更新"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Failed to add portal"
-msgstr "门户添加失败"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Portal added"
-msgstr "已添加门户"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Failed to remove portal"
-msgstr "门户删除失败"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Portal removed"
-msgstr "门户已删除"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Failed to add LUN"
-msgstr "LUN 添加失败"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "LUN added"
-msgstr "LUN 已添加"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Failed to remove LUN"
-msgstr "LUN 删除失败"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "LUN removed"
-msgstr "LUN 已移除"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Alias"
-msgstr "别名"
+msgstr ""
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Portals"
-msgstr "门户"
+msgstr ""
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "LUNs"
-msgstr "LUN"
+msgstr ""
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Alias (optional)"
-msgstr "别名(可选项)"
+msgstr ""
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "My Storage Target"
-msgstr "我的存储目标"
+msgstr ""
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Mutual CHAP Name"
-msgstr "双向 CHAP 名称"
+msgstr ""
+#: src/routes/[node]/storage/iscsi/targets/+page.svelte
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Mutual CHAP Secret"
-msgstr "双向 CHAP 密钥"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Edit iSCSI Target"
-msgstr "编辑 iSCSI Target"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Save Details"
-msgstr "保存详情"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "No portals configured."
-msgstr "门户未配置。"
+msgstr ""
+
+#~ msgid "LUN {0}:"
+#~ msgstr ""
#. 0: lun.zvol
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "/dev/zvol/{0}"
-msgstr "/dev/zvol/{0}"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "No LUNs configured."
-msgstr "未配置 LUN。"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "ZVol"
-msgstr "ZVol"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Select a volume..."
-msgstr "选择一个卷..."
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Edit Target"
-msgstr "编辑 Target"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Delete Target"
-msgstr "删除 Target"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "New iSCSI Target"
-msgstr "新建 iSCSI Target"
+msgstr ""
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "Target deleted"
-msgstr "已删除 Target"
+msgstr ""
#. 0: lun.lunNumber
#: src/routes/[node]/storage/iscsi/targets/+page.svelte
msgid "LUN {0}"
-msgstr "LUN {0}"
+msgstr ""
+
+#~ msgid "This will permanently delete {0} network objects<<<<<<< Updated upstream"
+#~ msgstr "<<<<<<< Updated upstream"
+
+#~ msgid "Bootstrap a base>>>>>>> Stashed changes"
+#~ msgstr ">>>>>>> Stashed changes"
+
+#~ msgid "Bootstrap a directory with pkgbase to create a jail base. This sets up the required files in a ZFS dataset, which can then be used to create new jails.<<<<<<< Updated upstream"
+#~ msgstr "<<<<<<< Updated upstream"
+
+#~ msgid "LUN {0}=======>>>>>>> Stashed changes"
+#~ msgstr "=======>>>>>>> Stashed changes"
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Username is required"
-msgstr "用户名是必须的"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Invalid username format"
-msgstr "无效的用户名格式"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Password is required"
-msgstr "密码是必须的"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Password must be at least 8 characters"
-msgstr "密码至少是 8 个字符"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Passwords do not match"
-msgstr "密码不匹配"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Home directory is required"
-msgstr "家目录是必须的"
+msgstr ""
+
+#~ msgid "Edit User — {0}"
+#~ msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Identification"
-msgstr "标识"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "ID & Groups"
-msgstr "ID 和组"
+msgstr ""
+
+#~ msgid "Directories"
+#~ msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Full Name"
-msgstr "全名"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "John Doe"
-msgstr "John Doe"
+msgstr ""
#: src/lib/components/custom/VM/Create/Advanced.svelte
#: src/lib/components/custom/VM/Hardware/VNC.svelte
msgid "Generate Password"
-msgstr "生成密码"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Confirm Password"
-msgstr "确认密码"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "User ID (UID)"
-msgstr "用户 ID (UID)"
+msgstr ""
+
+#~ msgid "New Primary Group (create group named after username)"
+#~ msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Primary Group"
-msgstr "主组"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Select primary group..."
-msgstr "选择主组..."
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Auxiliary Groups"
-msgstr "附加组"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Select auxiliary groups..."
-msgstr "选择附加组..."
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Home Directory"
-msgstr "家目录"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Home Directory Permissions"
-msgstr "家目录权限"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Read"
-msgstr "读"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Write"
-msgstr "写"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Execute"
-msgstr "执行"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Group"
-msgstr "组"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Other"
-msgstr "其他"
+msgstr ""
#. 0: computedPerms.toString(8).padStart(3, '0')
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Octal: 0{0}"
-msgstr "八进制:0{0}"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "SSH Public Key"
-msgstr "SSH 公钥"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Shell"
-msgstr "Shell"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Select shell..."
-msgstr "选择 Shell..."
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Disable Password"
-msgstr "禁用密码"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Lock User"
-msgstr "锁定用户"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Permit Doas"
-msgstr "允许 doas"
+msgstr ""
#. 0: properties.uid; 1: collision.username
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "UID {0} is already used by \"{1}\""
-msgstr "UID {0} 已经被 \"{1}\" 占用"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Primary group cannot also be an auxiliary group"
-msgstr "主组不能同时作为辅助组"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "<0/> Browse"
-msgstr "<0/> 浏览"
+msgstr ""
+
+#~ msgid "Select Directory"
+#~ msgstr ""
+
+#~ msgid "Loading..."
+#~ msgstr ""
+
+#~ msgid "No subdirectories"
+#~ msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Failed to create folder"
-msgstr "文件夹创建失败"
+msgstr ""
+
+#~ msgid "Failed to delete folder"
+#~ msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "New folder name"
-msgstr "新建文件夹"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Confirm"
-msgstr "确认"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "No subdirectories — right-click to create one"
-msgstr "无子目录 — 右键点击即可创建"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "<0/> New Folder inside"
-msgstr "<0/> 在此新建文件夹"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "<0/> New Folder here"
-msgstr "<0/> 在此处新建文件夹"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "<0/> Select Directory"
-msgstr "<0/> 选择目录"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Go up"
-msgstr "返回上级"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Loading…"
-msgstr "正在加载…"
+msgstr ""
+
+#~ msgid "New Primary Group (Create group named after username)"
+#~ msgstr ""
+
+#~ msgid "New User Primary Group"
+#~ msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Create User Primary Group"
-msgstr "创建用户主组"
+msgstr ""
#: src/lib/components/custom/Authentication/CreateOrEdit.svelte
msgid "Use /home/"
-msgstr "使用 /home/<用户名>"
+msgstr ""
#: src/lib/components/custom/VM/Create/Advanced.svelte
msgid "VNC Bind IP"
-msgstr "VNC 绑定 IP"
+msgstr ""
#: src/lib/components/custom/VM/Create/Advanced.svelte
#: src/lib/components/custom/VM/Hardware/VNC.svelte
msgid "Enable VNC"
-msgstr "启用 VNC"
+msgstr ""
#: src/lib/components/custom/VM/Hardware/VNC.svelte
msgid "Bind IP must be a valid IPv4 or IPv6 address"
-msgstr "绑定 IP 必须为有效的 IPv4 或 IPv6 地址"
+msgstr ""
#: src/lib/components/custom/VM/Hardware/VNC.svelte
msgid "Bind IP"
-msgstr "绑定 IP"
+msgstr ""
#: src/lib/components/custom/VM/Create/Advanced.svelte
msgid "Ignore UMSRs"
-msgstr "忽略 UMSR"
+msgstr ""
#: src/lib/components/custom/VM/Hardware/VNC.svelte
msgid "Resolution"
-msgstr "分辨率"
+msgstr ""
#: src/lib/components/custom/VM/Hardware/VNC.svelte
msgid "Select resolution"
-msgstr "选择分辨率"
+msgstr ""
#: src/lib/components/custom/VM/Hardware/VNC.svelte
msgid "Bind Port"
-msgstr "绑定端口"
+msgstr ""
#: src/lib/components/custom/ZFS/datasets/fs/Edit.svelte
msgid "Select or type record size"
-msgstr "选择或输入记录大小"
+msgstr ""
#: src/routes/[node]/storage/zfs/datasets/snapshots/+page.svelte
msgid "VM Snapshots"
-msgstr "虚拟机快照"
+msgstr ""
+
+#~ msgid "Filter by name…"
+#~ msgstr ""
#: src/routes/[node]/storage/zfs/datasets/snapshots/+page.svelte
msgid "Jail Snapshots"
-msgstr "Jail 快照"
+msgstr ""
+
+#~ msgid "Hide by name…"
+#~ msgstr ""
#: src/lib/components/custom/ZFS/datasets/snapshots/Retention.svelte
msgid "Retention Policies"
-msgstr "保留策略"
+msgstr ""
#: src/lib/components/custom/VM/Create/Advanced.svelte
#: src/lib/components/custom/VM/Options/BootRom.svelte
#: src/routes/[node]/vm/[rid]/options/+page.svelte
msgid "UEFI (Default)"
-msgstr "UEFI(默认)"
+msgstr ""
+
+#~ msgid "UEFI CSM (Deprecated)"
+#~ msgstr ""
#: src/lib/components/custom/VM/Create/Advanced.svelte
#: src/lib/components/custom/VM/Options/BootRom.svelte
@@ -11523,11 +13026,11 @@ msgstr "UEFI(默认)"
#: src/routes/[node]/vm/[rid]/options/+page.svelte
#: src/routes/[node]/vm/[rid]/options/+page.svelte
msgid "Boot ROM"
-msgstr "启动 "
+msgstr ""
#: src/lib/components/custom/VM/Create/Advanced.svelte
msgid "Select Boot ROM"
-msgstr "选择启动 ROM"
+msgstr ""
#: src/lib/components/custom/VM/Create/Advanced.svelte
#: src/lib/components/custom/VM/Options/ExtraBhyveOptions.svelte
@@ -11535,76 +13038,87 @@ msgstr "选择启动 ROM"
#: src/routes/[node]/vm/[rid]/options/+page.svelte
#: src/routes/[node]/vm/[rid]/options/+page.svelte
msgid "Extra Bhyve Options"
-msgstr "额外的 Bhyve 选项"
+msgstr ""
+
+#~ msgid "One option per line. These raw args are prepended before Sylve-generated bhyve args."
+#~ msgstr ""
#: src/lib/components/custom/VM/Create/Advanced.svelte
msgid "Bhyve Options"
-msgstr "Bhyve 选项"
+msgstr ""
#: src/lib/components/custom/VM/Options/BootRom.svelte
msgid "Failed to modify boot ROM"
-msgstr "启动 ROM 修改失败"
+msgstr ""
#: src/lib/components/custom/VM/Options/BootRom.svelte
msgid "Modified boot ROM"
-msgstr "修改启动 ROM"
+msgstr ""
#: src/lib/components/custom/VM/Options/BootRom.svelte
msgid "Select boot ROM"
-msgstr "选择启动 ROM"
+msgstr ""
#: src/lib/components/custom/VM/Options/ExtraBhyveOptions.svelte
msgid "Failed to modify extra bhyve options"
-msgstr "额外的 bhyve 选项调整失败"
+msgstr ""
#: src/lib/components/custom/VM/Options/ExtraBhyveOptions.svelte
msgid "Modified extra bhyve options"
-msgstr "额外的 bhyve 选项已调整"
+msgstr ""
+
+#~ msgid "One option per line. These arguments are prepended before generated bhyve args."
+#~ msgstr ""
#: src/routes/[node]/storage/samba/shares/+page.svelte
msgid "Read Access"
-msgstr "读权限"
+msgstr ""
#: src/routes/[node]/storage/samba/shares/+page.svelte
msgid "Write Access"
-msgstr "写权限"
+msgstr ""
#: src/lib/components/custom/Samba/Share.svelte
msgid "Select at least one user or group for authenticated access"
-msgstr "请选择至少一位用户或组以便于进身份验证访问行"
+msgstr ""
#: src/lib/components/custom/Samba/Share.svelte
msgid "Guest-only shares cannot include users or groups"
-msgstr "仅限访客的共享不能包含用户或组"
+msgstr ""
#: src/lib/components/custom/Samba/Share.svelte
msgid "Guest Only"
-msgstr "仅限访客"
+msgstr ""
#: src/lib/components/custom/Samba/Share.svelte
msgid "Read Users"
-msgstr "读用户"
+msgstr ""
#: src/lib/components/custom/Samba/Share.svelte
msgid "Write Users"
-msgstr "写用户"
+msgstr ""
#: src/lib/components/custom/Samba/Share.svelte
msgid "Read Groups"
-msgstr "读组"
+msgstr ""
#: src/lib/components/custom/Samba/Share.svelte
msgid "Write Groups"
-msgstr "写组"
+msgstr ""
#: src/lib/components/custom/Samba/Share.svelte
msgid "Guest Writeable"
-msgstr "访客可写"
+msgstr ""
#: src/lib/components/custom/Samba/Share.svelte
msgid "Time Machine Max Size (GB)"
-msgstr "时间机器最大容量(GB)"
+msgstr ""
#: src/lib/components/custom/Samba/Share.svelte
msgid "Set to 0 for unlimited size"
-msgstr "设置为 0 则不限制大小"
+msgstr ""
+
+#. 0: properties.detach.name; 1: vm.current.name
+#: src/routes/[node]/vm/[rid]/storage/+page.svelte
+msgid "This will detach the storage {0} from the VM {1}. The underlying disk dataset/file will NOT be deleted."
+msgstr ""
diff --git a/web/src/routes/[node]/utilities/downloader/+page.svelte b/web/src/routes/[node]/utilities/downloader/+page.svelte
index e6e3c4e1..c92531a8 100644
--- a/web/src/routes/[node]/utilities/downloader/+page.svelte
+++ b/web/src/routes/[node]/utilities/downloader/+page.svelte
@@ -480,8 +480,8 @@
{ value: 'cloud-init', label: 'Cloud-Init' }
]}
classes={{
- parent: 'mt-2.5 flex-1 space-y-1 w-full',
- label: 'mb-2',
+ parent: 'mt-2 flex-1 space-y-1 w-full',
+ label: 'flex h-7 items-center text-sm',
trigger: 'w-full'
}}
bind:value={modalState.downloadType}