aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-10-15 09:33:28 +0200
committerChristophe Besson <cbesson@gmail.com>2026-10-15 09:33:28 +0200
commit1e8eae1f3de765fcd8163716de6e5fe5aab5a034 (patch)
treedfdb004229c8b0f57ea1a64a726ed2752c3d18e5 /packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
parentadda9613fad48a68239e2dbd93321818a835c286 (diff)
downloadmeshbay-1e8eae1f3de765fcd8163716de6e5fe5aab5a034.tar.gz
feat(hub): one account, several linked nodes
An account links up to MAX_NODES_PER_ACCOUNT node keys (node_keys table) instead of the one users.pk_node_ed25519; the migration carries each account's key over and the downgrade keeps the last one linked. /v1/nodes/auth accepts any linked key, and its token names the key that won it (nk). PUT /me/node_key adds a key, idempotently, 409 past the limit; DELETE /me/node_key names the key: a browser session any of its own, a node only its own. Unlinking a key closes that node's socket and refuses its tokens at once, on REST and on the socket; the account's other nodes are untouched. /pubkeys no longer gives a node key to other accounts, and gives the caller its last linked one, which installed desktop apps read. The node reports waiting_for_node_key while its key is unlinked and signs in again as soon as the hub says so, so a key linked again is back within seconds; unlinking itself signs in first to hold a token naming its key. Profile -> Linked nodes lists each node (connected, last seen, IP, linked since, This machine in the desktop app) with Copy and Unlink, and adds a key by hand. The Node page banner, Create group and the desktop app add this machine's key instead of replacing another's. Messages that pointed at Settings -> Link Node point at Profile -> Linked nodes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js')
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js27
1 files changed, 15 insertions, 12 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
index be45b52..0ef354e 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
@@ -525,18 +525,22 @@ export default {
'settings.role': '角色',
'settings.groups': '群组通知',
'settings.notifications': '通知',
- 'settings.node_key': '关联 node',
- 'settings.node_key_desc': '如果您运营着一个 MeshBay node,请在此粘贴它的 Ed25519 '
- + '公钥,以将其关联到您的账户。在运行 node 的机器上执行 '
- + '`meshbay-node status` 可读取该密钥,或在桌面客户端的 '
- + 'Node → Overview 中复制。',
+ 'settings.node_key': "已关联的节点",
+ 'settings.node_key_desc': "你运行的节点,每台机器一个。每个节点用自己的密钥登录 hub,桌面应用会自动关联本机的节点。如需手动关联,请在那台机器上执行 `meshbay-node status` 读取密钥,或在桌面应用的 Node → Overview 中复制,然后粘贴到这里。",
'settings.node_key_placeholder': '粘贴 node 的 Ed25519 公钥(base64)',
- 'settings.node_key_submit': '关联 node',
- 'settings.node_key_success': 'node 关联成功',
+ 'settings.node_key_submit': "关联节点",
+ 'settings.node_key_success': "节点已关联",
'settings.node_key_unlink': "取消关联",
- 'settings.node_key_unlink_confirm': "要从你的账户取消关联该节点吗?在再次关联节点之前,它将停止为你的群组提供服务。",
+ 'settings.node_key_unlink_confirm': "要取消关联节点 {key} 吗?在其密钥再次关联之前,它将停止为你的群组提供服务。你的其他节点不受影响。",
'settings.node_key_unlinked': "已取消关联节点",
- 'settings.node_key_current': '已关联的 node 密钥',
+ 'settings.node_keys_none': "你的账户还没有关联任何节点。",
+ 'settings.node_keys_this_machine': "本机",
+ 'settings.node_keys_connected': "当前已连接",
+ 'settings.node_keys_last_seen': "最后在线 {when}",
+ 'settings.node_keys_never': "尚未登录",
+ 'settings.node_keys_linked_on': "关联于 {when}",
+ 'settings.node_keys_count': "已关联:{n} / {limit}",
+ 'settings.node_keys_at_limit': "已关联 {limit} 个节点,这是一个账户的上限。请取消关联一个不再运行的节点,再关联新的。",
// Sidebar
'sidebar.create_group': '创建群组',
@@ -932,9 +936,8 @@ export default {
'node.pair_button': '配对此浏览器',
'node.pair_success': '配对成功。',
'node.pair_pending': '配对码已就绪:下次打开此 Node 的任一群组时将自动使用。',
- 'node.link_other_node': "你的账户已关联到另一台机器的节点,因此此节点无法为你的群组提供服务。",
- 'node.link_here': "改为关联此节点",
- 'node.link_here_confirm': "将此节点关联到你的账户?当前关联的另一台机器上的节点将停止为你的群组提供服务,直到再次关联。",
+ 'node.link_here': "关联此节点",
+ 'node.link_not_linked': "此节点的密钥未关联到你的账户,因此无法为你的群组提供服务。关联它不会影响你的其他节点。",
'node.link_other_account': "此节点是为 {account} 而不是为你设置的,因此无法为你的群组提供服务。",
'node.link_take_over': "将此节点用于我的账户",
'node.link_linking': "正在关联…",