Files
Termix/plugins/telemetry/locales/translated/zh_TW.json
T
Luke GustafsonandZacharyZcR 6b708106e1 release-2.9.1 (#1557)
* fix(sso): send the PKCE verifier for GitHub login (#1534)

* fix(remote-desktop): clip cursor overflow without disabling zoom (#1535)

* test(remote-desktop): preserve sessions beyond one hour (#1536)

* fix(hosts): expose controls for overflowing editor tabs (#1537)

* fix(hosts): expose controls for overflowing editor tabs

* test(hosts): mock resize observation in admin panel tests

* fix(status): skip TCP probes while host sessions are active (#1538)

* fix(database): batch session activity persistence (#1539)

* docs(api): describe cookie and API key authentication (#1540)

* fix(snippets): repair missing note column on SQLite upgrades (#1541)

* fix(docker): retain stored SSH credential association (#1543)

* fix(file-manager): render transfer toasts without plugin hooks (#1546)

* feat(hosts): keep compact row actions inline (#1547)

* fix(auth): allow retrying unavailable second-factor interfaces (#1549)

* fix(auth): reject unresolved legacy identity provisioning (#1550)

* fix(desktop): ship the plugin SDK inside Mac App Store builds (#1551)

* fix(tmux): pass full session info to the terminal's session picker (#1552)

The tmux.sessions service reduced detected sessions to bare names, but the
picker reads session.name, so every entry rendered blank and selecting one
sent an empty name, which created a new session instead of attaching.

* fix(ssh): read force keyboard-interactive as a boolean when resolving hosts (#1553)

The column holds the text "true"/"false", and the resolver passed it
through as-is. The string "false" is truthy, so the password provider
treated every saved host as forced keyboard-interactive and left the
password out. Jump hops are built straight from the resolved host, so a
password hop whose server doesn't offer keyboard-interactive failed with
"All configured authentication methods failed".

* fix(database): batch database saves for bulk host writes (#1554)

* fix(database): yield to the event loop between database saves

Each SQLite save serializes and encrypts the whole database into new
buffers, which V8 only releases once the event loop turns. Boot
migrations and bulk host import write plugin settings per host and per
key in an awaited loop, so hundreds of full copies piled up and the
container ran out of memory.

* fix(database): save once per bulk host write instead of once per row

On SQLite every repository write force-saves the whole database. Boot
plugin data migrations, host defaults materialization and the bulk
host routes write one row per host per setting, so they serialized and
encrypted the full database hundreds of times in a row.

DatabaseSaveTrigger.batched wraps a function so force saves made while
it runs collapse into a single save when it finishes. Nested scopes fold
into the outer one, and work that outlives its scope saves normally.

* feat(hosts): add instance-wide predefined tag suggestions (#1548)

* feat(hosts): add shared predefined tag suggestions

* style(hosts): format tag catalog routes

* test(database): advance fake timers past the save yield (#1555)

* fix(i18n): complete Simplified Chinese core and plugin translations (#1542)

* fix(i18n): complete Chinese onboarding and navigation labels

* fix(i18n): translate remaining Chinese core and plugin interfaces

* fix(i18n): translate host editor tab overflow controls

* fix(i18n): use consistent Chinese fleet terminology

* fix(i18n): localize hardcoded controls and plugin views

* fix(i18n): translate built-in homepage widget catalog

* test(homepage): follow translated timezone placeholder

* fix(i18n): translate plugin-provided homepage widgets

* fix(i18n): localize feature settings section titles

* fix: 2.8 oidc accounts unable to sign in after upgrading (#1381)

* fix: plugins losing the saved ssh login when copying a host (#1391)

* fix: fleets, proxmox and automations not getting the host sudo password

* fix: host imports running a defaults pass and metrics restart per host (#1384)

* fix: high cpu from status probes and full database saves on every sample (#1300)

* fix: user data export freezing the server (#1393)

* fix: op:// secret references rejected as ssh keys on credentials (#1394)

* fix: slow file deletes from the trash lookups on every delete (#1390)

* fix: add openapi docs and error handling to host tag routes

* test: compare download stream buffers directly so it stops timing out

* chore: drop em dash from host row comment

* chore: update release notes for 2.9.1

* fix: restore space to add host tags and redesign predefined tags editor

* fix: host key silently accepted when the host is missing from the database (#1397)

* fix: clearer host login failed status label and fix its translations (#1396)

* chore: add host key and status label fixes to release notes

* fix: sso and ldap provider dialogs overflowing the screen and using mismatched toggles

* chore: increment ver

* fix(audit): store plugin entries with no acting user as a null user_id (#1556)

Plugin audit entries written outside a request used the literal "system"
as user_id. That column references users.id, so the insert was refused
(Postgres logs it as an FK violation) and the entry was silently dropped.
Write null instead and keep "system" / plugin:<id> in username.

* chore: add sso/ldap dialog and audit log fixes to release notes

* fix: tunnels and host settings missing from shared hosts on desktop

* fix: remote desktop logins missing from shared hosts on desktop

* fix: simplify host status to online/offline and keep it live without a refresh

* chore: sync Crowdin translations for 2.9.1

---------

Co-authored-by: ZacharyZcR <zacharyzcr1984@gmail.com>
2026-10-04 15:11:41 -05:00

62 lines
2.5 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"permissions": {
"manage": {
"title": "管理使用情況統計信息",
"description": "查看已傳送的使用統計訊息,立即傳送並重設實例 ID。"
}
},
"settings": {
"enabled": {
"label": "分享匿名使用統計數據",
"description": "每天發送一份簡短的匿名摘要,以幫助改善 Termix。摘要中絕不包含使用者名稱、主機名稱、IP 位址或憑證。"
},
"includePlatform": {
"label": "包含平台訊息",
"description": "作業系統、CPU架構、Node.js版本、資料庫類型以及Termix的安裝方式(Docker、桌面應用程式或伺服器)。"
},
"includeFeatureUsage": {
"label": "包含功能使用",
"description": "自上次報告以來,各類標籤頁的開啟次數以及 SSH 登入次數總計是多少?用戶可以在個人資料中關閉此功能。"
},
"includePlugins": {
"label": "包含已安裝的功能",
"description": "哪些內建功能已安裝並正在運作?"
},
"instanceId": {
"label": "實例 ID"
},
"shareFeatureUsage": {
"label": "請包含我的功能使用情況",
"description": "匿名使用統計資料會統計您開啟的標籤頁類型。不會發送任何關於您或您的主機的資訊。"
}
},
"status": {
"title": "狀態",
"on": "每天分享一次使用統計資料。",
"off": "不分享使用統計數據",
"lockedOn": "此功能由 ENABLE_TELEMETRY 環境變數啟用。請修改該變數。",
"lockedOff": "此功能已透過 ENABLE_TELEMETRY 環境變數關閉。請更改該變數。",
"instanceId": "實例 ID: {{id}}",
"noInstanceId": "暫無執行個體 ID",
"lastSent": "最後發送 {{date}}",
"neverSent": "尚未發送",
"nextSend": "下一份報告截止日期 {{date}}",
"lastError": "最後嘗試失敗: {{error}}",
"preview": "預覽報告",
"sendNow": "立即發送",
"sending": "正在發送...",
"sent": "已發送使用統計訊息",
"notSent": "使用情況統計已關閉,未發送任何內容。",
"resetId": "重置實例 ID",
"resetIdConfirm": "重置實例 ID?以後的報告將顯示為新安裝的實例。",
"resetIdDone": "實例 ID 重置",
"previewTitle": "下一篇報告",
"previewDescription": "這正是現在會發送的內容。",
"close": "關閉",
"loadFailed": "無法載入使用情況統計狀態"
},
"plugin": {
"name": "Usage Statistics"
}
}