diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-07 10:35:09 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-07 10:35:09 +0200 |
| commit | 2c0903c648e24b4e2adf20492398e8b67d033b49 (patch) | |
| tree | 0435f298010f0f946362f28baebbe88337ca8768 /packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js | |
| parent | 0ed078c92cabab1dab0f70f321562032ea549ce6 (diff) | |
| parent | eeda274d751c537f4ecef3087994a16a9517478f (diff) | |
| download | meshbay-2c0903c648e24b4e2adf20492398e8b67d033b49.tar.gz | |
Merge branch 'refactor/groups-phase1'
Groups refactor, phases 1-3.
The root model replaces the old `upload` flag and group-wide `member_upload`
with per-root `writable`/`removable`/`ejected`, carried by a `RootSet` that
both front doors — the loopback API and signed MNP — reach through the same
`ops` functions. MNP goes to 1.1, additively: the roots table now rides on
`index_delta`, so a root added, removed, ejected or plugged reaches every
connected client instead of only whoever reloaded.
The group UI becomes a plugin architecture: an application is a registry
entry in `apps.js` plus its own files, with directories stored generically
by `ops.set_app_directories` under whatever the app is called. A reference
application, hidden behind `?dev=1`, is what makes that claim testable —
adding it is what found the two places still naming apps by hand.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011pvMdvLBG92jyhvD5pD6us
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.js | 61 |
1 files changed, 58 insertions, 3 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 fd0c7f9..044611e 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 @@ -123,6 +123,12 @@ export default { 'group.tab_video': '视频', 'group.tab_music': '音乐', 'group.tab_photos': '照片', + 'group.tab_helloworld': 'HelloWorld', + 'helloworld.greeting': '你好,世界!', + 'helloworld.no_directory': '尚未选择文件夹。请在设置中选择。', + 'helloworld.counted': '{n} 个文件', + 'settings_app.helloworld_directory_label': '文件夹', + 'settings_app.helloworld_directory_hint': '该参考应用所列出的文件夹。它的存在是为了说明:新增一个应用只需要它自己的两个文件。', 'group.tab_members': '成员', 'group.tab_settings': "设置", 'members.danger_leave_hint': "您将无法再访问该群组的文件和聊天。", @@ -150,7 +156,8 @@ export default { 'group.offline_hint': '当托管此群组的 node 连接后,文件就会出现。', 'group.upload': '上传', 'group.mkdir': '新建文件夹', - 'group.mkdir_prompt': '新文件夹的名称:', + 'group.mkdir_prompt': '新文件夹名称', + 'group.mkdir_offline': '未连接到节点。', 'device.add_title': 'This browser is not linked to this node yet', 'device.add_hint': 'Your account is known here, but this browser holds a different key. Approve it from a device already linked — no operator needed.', 'device.add_btn': 'Get a linking code', @@ -165,6 +172,10 @@ export default { 'device.approve_btn': 'Approve', 'device.approved': 'Device linked.', 'group.root_unavailable': '(不可用 — 驱动器已断开连接)', + 'group.root_plug': '重新接入', + 'group.root_eject': '弹出', + 'group.root_writable': '读写', + 'group.root_ejected': '(已弹出)', 'group.view': '查看', 'group.delete': '删除', 'group.delete_confirm': '删除 {name}?', @@ -189,6 +200,7 @@ export default { 'chat.placeholder': '输入消息…', 'chat.send': '发送', 'chat.attach': '添加附件', + 'chat.attach_read_only': '没有可写的共享目录 — 附件已停用', // Video player 'video.loading': '正在加载 {name}…', @@ -699,10 +711,16 @@ export default { 'node.roots': '目录', 'node.add_root': '添加目录', 'node.remove_root': '移除', + 'node.root_no_signing_key': '没有可用的签名密钥 — 请先将本设备与节点配对', + 'node.root_no_route': '无法连接到节点 — 请先连接,或在运行该节点的机器上使用应用', + 'node.root_remove_last': '每个群组至少需要一个目录', + 'node.root_path_hint': '托管该群组的机器上,节点所看到的路径。', + 'node.root_path_placeholder': '/home/user/Media', + 'node.root_path': '路径', + 'node.directory': '目录', 'node.root_added': '目录已添加。', 'node.root_remove_confirm': '从此群组中移除"{name}"?', 'node.root_removed': '目录已移除。建议重启以更新索引。', - 'node.upload_root': '上传目录', 'node.attach_group': '添加群组', 'node.attach_pick': '要托管的群组', 'node.attach_dir': '共享目录', @@ -786,7 +804,41 @@ export default { 'settings_node.photo_roots_add': '添加', 'settings_node.photo_roots_remove': '移除', 'settings_node.photo_roots_save': '保存', - 'settings_node.directories_title': '目录', + 'settings_node.shared_directories_title': '共享目录', + 'settings_node.shared_directories_hint': '与此群组共享的文件夹。切换读写以允许上传,标记为可移除用于外置驱动器。', + 'folder_tree.title_single': '选择文件夹', + 'folder_tree.title_multi': '选择文件夹', + 'folder_tree.choose': '选择…', + 'folder_tree.remove': '移除', + 'folder_tree.add': '添加文件夹…', + 'folder_tree.confirm': '使用', + 'folder_tree.expand': '展开', + 'folder_tree.collapse': '折叠', + 'folder_tree.nothing_selected': '未选择', + 'folder_tree.empty': '该群组还没有共享目录。', + 'folder_tree.writable_only': '此处只能选择可读写的目录 — 文件会写入其中。', + 'folder_tree.no_writable_root': '该群组没有可写目录。请先在「共享目录」中将某个目录设为读写。', + 'folder_tree.read_only_blocked': '只读 — 无法写入', + 'settings_app.save': '保存', + 'settings_app.saving': '正在保存…', + 'settings_app.disabled_hint': '启用该应用后即可配置。', + 'settings_app.video_directories_label': '视频文件夹', + 'settings_app.video_directories_hint': '该群组的影片和剧集所在位置。其外的内容不会出现在「视频」标签页。', + 'settings_app.music_directories_label': '音乐文件夹', + 'settings_app.music_directories_hint': '该群组的专辑所在位置。其外的内容不会出现在「音乐」标签页。', + 'settings_app.photo_directories_label': '照片文件夹', + 'settings_app.photo_directories_hint': '该群组的相册所在位置。其外的内容不会出现在「照片」标签页。', + 'settings_app.chat_directory_label': '附件文件夹', + 'settings_app.chat_directory_hint': '聊天中发送的文件写入位置。必须是可读写的目录。', + 'settings_app.chat_no_writable_root': '该群组没有可写目录,因此附件已停用。', + 'settings_app.chat_link_preview_label': '链接预览', + 'settings_app.chat_link_preview_hint': '当成员发布链接时,节点会抓取该页面的标题和图片。这是从你的机器发往他人所选站点的请求。', + 'settings_app.tmdb_token_prompt': '在 TMDB 注册以生成你自己的 API 密钥。', + 'settings_app.tmdb_token_link': '获取密钥', + 'settings_node.roots_offline_hint': '未连接到节点 — 变更将通过本地节点进行,并在其下次重新加载时生效。', + 'settings_node.roots_node_too_old': '该节点比本页面旧:它能显示自己的目录,但无法在此更改。请更新节点,或使用 meshbay-node root 命令。', + 'settings_node.app_node_too_old': '该节点比本页面旧,尚不支持此应用的设置。请更新节点后在此配置。', + 'settings_node.directories_title': '应用目录', 'settings_node.directories_hint': '共享文件夹,以及“视频”“音乐”和“照片”应用各自使用哪个(些)作为入口。', // Create group wizard @@ -891,4 +943,7 @@ export default { 'node.tab_peers': 'Peers', 'node.tab_audit': 'Audit', 'node.tab_settings': 'Settings', + 'node.root_rw': '读写', + 'node.root_ro': '只读', + 'node.removable': '可移除', }; |