mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-10-17 06:42:31 +00:00
i18n(zh): complete Simplified Chinese catalogue
Fill the 408 entries that were missing from the Simplified Chinese
catalogue, bringing coverage of en.json from 72.5% to 100%
(1073 -> 1481 entries; 1480/1480 English keys now translated).
Files updated, per docs/adding_translations.md ("Commit the edited YAML
and all regenerated JSON and TypeScript resources together"):
- src/common/messagesYAML/zh.yaml - source catalogue
- src/common/messagesJson/zh.json - npm run i18n:yaml2json
- src/common/messages/combinedMessages.prod.ts
- npm run i18n:bakejson
The TypeScript resource matters: the release workflow runs
`npm run build`, which is only `node esbuild.config.mjs production` and
does NOT re-run `i18n:bake`. Since src/common/translation.ts imports
combinedMessages.prod.ts directly, a catalogue change that omits this
file would not reach the shipped main.js.
Verification
- No existing translation was modified: every key already present in
zh.json is byte-identical (0 changed, 0 removed).
- Placeholders checked string-for-string against the English source.
15 new entries contain ${...} or {HERE}; all match.
- combinedMessages.prod.ts regenerated with _tools/bakei18n.ts and
formatted with the project's Prettier config. The diff against main is
408 added `zh:` lines plus the expected bookkeeping, and no other
language changes.
- Terminology follows the existing catalogue (Vault -> 库,
Passphrase -> 密码短语, Setup URI -> 设置 URI, chunk -> 块).
Technical identifiers (URL, JWT, CouchDB, S3, TURN, IDB, P2P) are
intentionally left in English, matching current practice.
Two unrelated upstream issues, not addressed here
1. `dialog.yourLanguageAvailable` defines its placeholder as
`%{Display language}` while `$msg()` substitutes on `${...}`, so the
placeholder is never expanded and the literal text is shown in every
language.
2. The committed YAML catalogues appear stale relative to the JSON ones
(e.g. `en.yaml` lacks entries that `en.json` already contains, and
its wrapping differs from current tool output). This affects every
language and probably deserves a separate change.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1071,5 +1071,413 @@
|
||||
"xxhash64 (Fastest)": "xxhash64(最快)",
|
||||
"Yes, I want to add this device to my existing synchronisation": "是的,我要把这台设备加入现有同步",
|
||||
"Yes, I want to set up a new synchronisation": "是的,我要配置新的同步",
|
||||
"You are adding this device to an existing synchronisation setup.": "你正在将此设备加入到现有同步配置中。"
|
||||
"You are adding this device to an existing synchronisation setup.": "你正在将此设备加入到现有同步配置中。",
|
||||
"On": "开启",
|
||||
"Fix": "修复",
|
||||
"NEW": "新增",
|
||||
"Off": "关闭",
|
||||
"Rev": "修订",
|
||||
"URL": "URL",
|
||||
"📡 On": "📡 开启",
|
||||
"Date": "日期",
|
||||
"Deny": "拒绝",
|
||||
"Diff": "差异",
|
||||
"live": "实时",
|
||||
"Name": "名称",
|
||||
"Path": "路径",
|
||||
"Same": "相同",
|
||||
"Stat": "统计",
|
||||
"Sync": "同步",
|
||||
"📡 Off": "📡 关闭",
|
||||
"Close": "关闭",
|
||||
"Mixed": "混合",
|
||||
"Peers": "对等方",
|
||||
"Stats": "统计",
|
||||
"✔ SYNC": "✔ 同步",
|
||||
"Accept": "接受",
|
||||
"Action": "操作",
|
||||
"Chunks": "块",
|
||||
"DENIED": "已拒绝",
|
||||
"Ignore": "忽略",
|
||||
"lang-he": "希伯来语",
|
||||
"Reload": "重新加载",
|
||||
"Revoke": "撤销",
|
||||
"Stop ⚡": "停止 ⚡",
|
||||
"Themes": "主题",
|
||||
"+1 week": "+1 周",
|
||||
"✔ WATCH": "✔ 监视",
|
||||
"🕵️ Diag": "🕵️ 诊断",
|
||||
"Closed:": "已关闭:",
|
||||
"Command": "命令",
|
||||
"Connect": "连接",
|
||||
"Dismiss": "忽略",
|
||||
"Enabled": "已启用",
|
||||
"Failed:": "失败:",
|
||||
"JWT Key": "JWT 密钥",
|
||||
"Not now": "暂不",
|
||||
"Plugins": "插件",
|
||||
"Proceed": "继续",
|
||||
"Refresh": "刷新",
|
||||
"Room ID": "房间 ID",
|
||||
"SENDING": "发送中",
|
||||
"SESSION": "会话",
|
||||
"✔ SELECT": "✔ 选择",
|
||||
"🗑 Delete": "🗑 删除",
|
||||
"ACCEPTED": "已接受",
|
||||
"Advanced": "高级",
|
||||
"Devices:": "设备:",
|
||||
"FETCHING": "获取中",
|
||||
"Group ID": "组 ID",
|
||||
"INVERTED": "已反转",
|
||||
"Peer ID:": "对等方 ID:",
|
||||
"Snippets": "代码片段",
|
||||
"WATCHING": "监视中",
|
||||
"(Missing)": "(缺失)",
|
||||
"Automatic": "自动",
|
||||
"Different": "不同",
|
||||
"IMPORTANT": "重要",
|
||||
"Incoming:": "接收:",
|
||||
"No Items.": "无项目。",
|
||||
"PERMANENT": "永久",
|
||||
"Selective": "选择性",
|
||||
"Setup-URI": "设置 URI",
|
||||
"Sync once": "同步一次",
|
||||
"Connected:": "已连接:",
|
||||
"Disconnect": "断开连接",
|
||||
"Local only": "仅本地",
|
||||
"NO PREVIEW": "无预览",
|
||||
"P2P Status": "P2P 状态",
|
||||
"Syncing...": "同步中…",
|
||||
"🟢 Connected": "🟢 已连接",
|
||||
"Connection:": "连接:",
|
||||
"device name": "设备名称",
|
||||
"obsidianLiveSyncSettingTab.titleExtraMenus": "扩展菜单",
|
||||
"Other files": "其他文件",
|
||||
"PLEASE NOTE": "请注意",
|
||||
"Remote only": "仅远端",
|
||||
"Replicating": "复制中",
|
||||
"This device": "本设备",
|
||||
"Ui.SetupWizard.Invitation.Start": "开始设置",
|
||||
"Ui.SetupWizard.OutroNewP2PUser.Important": "请注意",
|
||||
"⇅: Use newer": "⇅:使用较新版本",
|
||||
"Auto Connect": "自动连接",
|
||||
"Compare file": "比较文件",
|
||||
"Data to Copy": "要复制的数据",
|
||||
"Deselect all": "取消全选",
|
||||
"Memory cache": "内存缓存",
|
||||
"Scan changes": "扫描变更",
|
||||
"Scan QR Code": "扫描二维码",
|
||||
"Show history": "显示历史记录",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.KeepEditing": "继续编辑",
|
||||
"Access Key ID": "访问密钥 ID",
|
||||
"Broadcasting?": "正在广播?",
|
||||
"Communicating": "通信中",
|
||||
"Configuration": "配置",
|
||||
"Delete All of": "全部删除",
|
||||
"Folder Prefix": "文件夹前缀",
|
||||
"Hide password": "隐藏密码",
|
||||
"JWT Algorithm": "JWT 算法",
|
||||
"No Connection": "未连接",
|
||||
"Replicate now": "立即复制",
|
||||
"Show password": "显示密码",
|
||||
"TURN Username": "TURN 用户名",
|
||||
"🔴 Disconnected": "🔴 已断开",
|
||||
"Custom Headers": "自定义请求头",
|
||||
"Detected Peers": "检测到的对等方",
|
||||
"Device Peer ID": "设备对等方 ID",
|
||||
"File integrity": "文件完整性",
|
||||
"Highlight diff": "高亮差异",
|
||||
"Initial Action": "初始操作",
|
||||
"moduleCheckRemoteSize.optionReview": "查看选项",
|
||||
"Not configured": "未配置",
|
||||
"obsidianLiveSyncSettingTab.titleExtraFeaturesGroup": "扩展功能",
|
||||
"Relay settings": "中继设置",
|
||||
"Replicating...": "复制中…",
|
||||
"Revert changes": "还原更改",
|
||||
"Save and Apply": "保存并应用",
|
||||
"Skip and close": "跳过并关闭",
|
||||
"Transfer Tweak": "传输微调",
|
||||
"Available Peers": "可用的对等方",
|
||||
"Continue anyway": "仍然继续",
|
||||
"Deny in session": "本次会话内拒绝",
|
||||
"Enter Setup URI": "输入设置 URI",
|
||||
"Newer (${diff})": "较新(${diff})",
|
||||
"obsidianLiveSyncSettingTab.titleSynchronisation": "同步",
|
||||
"Older (${diff})": "较旧(${diff})",
|
||||
"Open connection": "打开连接",
|
||||
"Room ID suffix:": "房间 ID 后缀:",
|
||||
"TURN Credential": "TURN 凭据",
|
||||
"Allow in session": "本次会话内允许",
|
||||
"Deny permanently": "永久拒绝",
|
||||
"Document History": "文档历史记录",
|
||||
"JWT Key ID (kid)": "JWT 密钥 ID(kid)",
|
||||
"Maintenance mode": "维护模式",
|
||||
"Select All Shiny": "全选 Shiny",
|
||||
"This device name": "本设备名称",
|
||||
"Updating list...": "正在更新列表…",
|
||||
"Use internal API": "使用内部 API",
|
||||
"Use Internal API": "使用内部 API",
|
||||
"Accept in session": "本次会话内接受",
|
||||
"Advanced Settings": "高级设置",
|
||||
"Allow permanently": "永久允许",
|
||||
"Close this dialog": "关闭此对话框",
|
||||
"Create P2P remote": "创建 P2P 远端",
|
||||
"Flagged Selective": "已标记为选择性",
|
||||
"JWT Subject (sub)": "JWT 主体(sub)",
|
||||
"obsidianLiveSyncSettingTab.titleAdvancedSettings": "高级设置",
|
||||
"Open P2P Setup...": "打开 P2P 设置…",
|
||||
"P2P Configuration": "P2P 配置",
|
||||
"Secret Access Key": "私有访问密钥",
|
||||
"Signalling Status": "信令状态",
|
||||
"Stop Broadcasting": "停止广播",
|
||||
"Use Random Number": "使用随机数",
|
||||
"↓: Overwrite Local": "↓:覆盖本地",
|
||||
"Apply All Selected": "应用所有已选项",
|
||||
"Apply the settings": "应用设置",
|
||||
"Close & Disconnect": "关闭并断开连接",
|
||||
"Fetching status...": "正在获取状态…",
|
||||
"Generate Random ID": "生成随机 ID",
|
||||
"Same or local only": "相同或仅本地",
|
||||
"Start Broadcasting": "开始广播",
|
||||
"Start Sync & Close": "开始同步并关闭",
|
||||
"TweakMismatchResolve.Action.EnableAutoAcceptCompatible": "启用自动接受",
|
||||
"Use vrtmrz's relay": "使用 vrtmrz 的中继",
|
||||
"↑: Overwrite Remote": "↑:覆盖远端",
|
||||
"⚠️ Important Notice": "⚠️ 重要提示",
|
||||
"Connection Settings": "连接设置",
|
||||
"Database -> Storage": "数据库 → 存储",
|
||||
"DENIED (in session)": "已拒绝(本次会话)",
|
||||
"Enter TURN username": "输入 TURN 用户名",
|
||||
"Enter your password": "输入你的密码",
|
||||
"Enter your username": "输入你的用户名",
|
||||
"Recovery and Repair": "恢复与修复",
|
||||
"Storage -> Database": "存储 → 数据库",
|
||||
"TweakMismatchResolve.Action.DisableAutoAcceptCompatible": "停用自动接受",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.ContinueFetch": "继续获取",
|
||||
"Encryption Algorithm": "加密算法",
|
||||
"File to view History": "要查看历史记录的文件",
|
||||
"Issue detection log:": "问题检测日志:",
|
||||
"Local Database Tweak": "本地数据库微调",
|
||||
"Maintenance Commands": "维护命令",
|
||||
"Obfuscate Properties": "混淆属性",
|
||||
"obsidianLiveSyncSettingTab.titleHelpAndInformation": "帮助与信息",
|
||||
"Select Flagged Shiny": "选择已标记的 Shiny",
|
||||
"Select P2P remote...": "选择 P2P 远端…",
|
||||
"Strongly Recommended": "强烈推荐",
|
||||
"ACCEPTED (in session)": "已接受(本次会话)",
|
||||
"CouchDB Configuration": "CouchDB 配置",
|
||||
"Enable P2P Replicator": "启用 P2P 复制器",
|
||||
"Enter TURN credential": "输入 TURN 凭据",
|
||||
"Enter your JWT Key ID": "输入你的 JWT 密钥 ID",
|
||||
"Enter your passphrase": "输入你的密码短语",
|
||||
"Experimental Settings": "实验性设置",
|
||||
"TweakMismatchResolve.Title.AutoAcceptCompatible": "可自动接受",
|
||||
"Use Path-Style Access": "使用路径风格访问",
|
||||
"Enter your Bucket Name": "输入你的存储桶名称",
|
||||
"Restart and Fetch Data": "重启并获取数据",
|
||||
"Use JWT Authentication": "使用 JWT 身份验证",
|
||||
"you wanted(Thank you)!": "你要求的操作(谢谢)!",
|
||||
"Passphrase is required.": "密码短语是必填项。",
|
||||
"Peer to Peer Replicator": "点对点复制器",
|
||||
"Save without connecting": "不连接直接保存",
|
||||
"Enter your Access Key ID": "输入你的访问密钥 ID",
|
||||
"Enter your database name": "输入你的数据库名称",
|
||||
"Gathering information...": "正在收集信息…",
|
||||
"obsidianLiveSyncSettingTab.titleHelpAndTroubleshooting": "帮助与疑难解答",
|
||||
"obsidianLiveSyncSettingTab.titleMaintenanceAndRecovery": "维护与恢复",
|
||||
"Select active P2P remote": "选择生效的 P2P 远端",
|
||||
"Test connection and save": "测试连接并保存",
|
||||
"Auto Start P2P Connection": "自动启动 P2P 连接",
|
||||
"Check server requirements": "检查服务器要求",
|
||||
"Hide not applicable items": "隐藏不适用项",
|
||||
"Proceed to the next step.": "继续下一步。",
|
||||
"S3/MinIO/R2 Configuration": "S3/MinIO/R2 配置",
|
||||
"Failed to parse Setup-URI.": "无法解析设置 URI。",
|
||||
"Just for a minute, please!": "请稍等一分钟!",
|
||||
"Test Settings and Continue": "测试设置并继续",
|
||||
"${count} issue(s) detected!": "检测到 ${count} 个问题!",
|
||||
"Pick a file to show history": "选择一个文件以显示历史记录",
|
||||
"Signaling Server Connection": "信令服务器连接",
|
||||
"All the same or non-existent": "全部相同或不存在",
|
||||
"Enter your Secret Access Key": "输入你的私有访问密钥",
|
||||
"Lower (${local} < ${remote})": "较低(${local} < ${remote})",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.ApplyWithoutInitialisation": "不初始化直接应用",
|
||||
"Higher (${local} > ${remote})": "较高(${local} > ${remote})",
|
||||
"Please select your situation.": "请选择你的情况。",
|
||||
"Restart and Initialise Server": "重启并初始化服务器",
|
||||
"I Understand, Overwrite Server": "我明白,覆盖服务器",
|
||||
"⚠️ Please Confirm the Following": "⚠️ 请确认以下内容",
|
||||
"All checks passed successfully!": "所有检查均已通过!",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.ProceedRebuildP2P": "重启并准备本设备",
|
||||
"Ui.SetupWizard.OutroNewP2PUser.Proceed": "重启并准备本设备",
|
||||
"Ui.SetupWizard.RebuildEverythingP2P.ConfirmTitle": "⚠️ 请确认以下内容",
|
||||
"Enter a folder prefix (optional)": "输入文件夹前缀(可选)",
|
||||
"Reset and Resume Synchronisation": "重置并恢复同步",
|
||||
"JWT Expiration Duration (minutes)": "JWT 有效期(分钟)",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.ProceedRebuild": "重启并覆盖服务器数据",
|
||||
"Ui.SetupWizard.RebuildEverythingP2P.Proceed": "我明白,准备本设备",
|
||||
"Mostly Complete: Decision Required": "基本完成:需要你决定",
|
||||
"No checks have been performed yet.": "尚未执行任何检查。",
|
||||
"TURN Server URLs (comma-separated)": "TURN 服务器地址(逗号分隔)",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.ProceedFetchP2P": "重启并选择源设备",
|
||||
"Checking connection... Please wait.": "正在检查连接…请稍候。",
|
||||
"Enter a complete HTTP or HTTPS URL.": "输入完整的 HTTP 或 HTTPS 地址。",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.RebuildOptionP2P": "用本库的文件准备本设备",
|
||||
"Enter your JWT secret or private key": "输入你的 JWT 密钥或私钥",
|
||||
"I have created a backup of my Vault.": "我已备份我的库。",
|
||||
"On the source device, open Obsidian.": "在源设备上打开 Obsidian。",
|
||||
"Start change-broadcasting on Connect": "连接时开始广播变更",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.FetchOption": "重置本设备的同步",
|
||||
"We have to configure the device name": "需要先配置设备名称",
|
||||
"Failed to create replicator instance.": "创建复制器实例失败。",
|
||||
"the single, authoritative master copy": "唯一的权威主副本",
|
||||
"We can not use \"/\" to the device name": "设备名称中不能使用「/」",
|
||||
"Delete remote configuration '${name}'?": "删除远端配置「${name}」?",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.BypassTitle": "不初始化直接应用设置?",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.ProceedFetch": "重启并获取同步数据",
|
||||
"Diagnostic RTCPeerConnection is enabled": "已启用诊断用 RTCPeerConnection",
|
||||
"Error during connection test: ${reason}": "连接测试出错:${reason}",
|
||||
"The Setup-URI is valid and ready to use.": "设置 URI 有效,可以使用。",
|
||||
"Connect to existing database and continue": "连接到现有数据库并继续",
|
||||
"Enter your JWT Subject (CouchDB Username)": "输入你的 JWT 主体(CouchDB 用户名)",
|
||||
"To minimise the creation of new conflicts": "以减少新冲突的产生",
|
||||
"Ui.SetupWizard.OutroNewP2PUser.Title": "设置完成:正在准备本 P2P 设备",
|
||||
"Create or connect to database and continue": "创建或连接到数据库并继续",
|
||||
"Error during testAndFixSettings: ${reason}": "testAndFixSettings 出错:${reason}",
|
||||
"Failed to connect to the server: ${reason}": "无法连接到服务器:${reason}",
|
||||
"Prevent fetching configuration from server": "阻止从服务器获取配置",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.Back": "查看其他应用这些设置的方式",
|
||||
"I am unable to create a backup of my Vault.": "我无法备份我的库。",
|
||||
"Have you created a backup before proceeding?": "继续之前,你备份了吗?",
|
||||
"I am unable to create a backup of my Vaults.": "我无法备份我的库。",
|
||||
"On this device, please keep this Vault open.": "请在本设备上保持此库处于打开状态。",
|
||||
"TweakMismatchResolve.Message.mineUpdated": "本设备的配置已调整。",
|
||||
"Setup Complete: Preparing to Initialise Server": "设置完成:正在准备初始化服务器",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.RebuildOption": "用本设备的文件覆盖服务器数据",
|
||||
"(e.g., after editing many files whilst offline)": "(例如:离线期间编辑了大量文件之后)",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.Title": "应用设置并重新初始化同步",
|
||||
"Ui.SetupWizard.RebuildEverythingP2P.Title": "最终确认:为本设备准备 P2P",
|
||||
"Use Diagnostic RTCPeerConnection for statistics": "使用诊断用 RTCPeerConnection 收集统计信息",
|
||||
"Enter your Region (e.g., us-east-1, auto for R2)": "输入你的区域(例如 us-east-1,R2 填 auto)",
|
||||
"There is a way to resolve this on other devices.": "在其他设备上有办法解决这个问题。",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.Question": "重启后应使用哪份现有数据?",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.RemoteVerificationTitle": "无法验证远端同步数据",
|
||||
"Please enter the CouchDB server information below.": "请在下方填写 CouchDB 服务器信息。",
|
||||
"Please understand that this is intended behaviour.": "请注意这是预期行为。",
|
||||
"You can configure in the Obsidian Plugin Settings.": "你可以在 Obsidian 插件设置中配置。",
|
||||
"TweakMismatchResolve.Message.remoteUpdated": "远端存储的配置已更新。",
|
||||
"Failed to connect to the signalling relay: ${reason}": "无法连接到信令中继:${reason}",
|
||||
"Connected to Signaling Server (as Peer ID: ${peerId})": "已连接到信令服务器(对等方 ID:${peerId})",
|
||||
"Of course, we can back up the data before proceeding.": "当然,我们可以先备份数据再继续。",
|
||||
"Please configure your end-to-end encryption settings.": "请配置你的端到端加密设置。",
|
||||
"obsidianLiveSyncSettingTab.logServerConfigurationCheck": "服务器配置检查",
|
||||
"Setup Complete: Preparing to Fetch Synchronisation Data": "设置完成:正在准备获取同步数据",
|
||||
"I understand the risks and will proceed without a backup.": "我明白风险,将在没有备份的情况下继续。",
|
||||
"Ui.SetupWizard.RebuildEverythingP2P.ConfirmLocalResetNote": "将使用本库中当前的文件来重建它。",
|
||||
"Failed to connect to the server. Please check your settings.": "无法连接到服务器。请检查你的设置。",
|
||||
"moduleCheckRemoteSize.noticeNotConfigured": "未配置远端存储体积提醒。{HERE}",
|
||||
"I understand that this action is irreversible once performed.": "我明白此操作一旦执行便不可撤销。",
|
||||
"No devices available. Waiting for other devices to connect...": "没有可用的设备。正在等待其他设备连接…",
|
||||
"The files in this Vault are almost identical to the server's.": "本库中的文件与服务器上的几乎一致。",
|
||||
"We can use only Secure (HTTPS) connections on Obsidian Mobile.": "Obsidian 移动端只能使用安全(HTTPS)连接。",
|
||||
"by resetting the remote, you will be informed on other devices.": "重置远端后,其他设备会收到通知。",
|
||||
"My remote server is already set up. I want to join this device.": "我的远端服务器已设置好,我想让本设备加入。",
|
||||
"Please enter the Peer-to-Peer Synchronisation information below.": "请在下方填写点对点同步信息。",
|
||||
"If you understand the risks and still wish to proceed, select so.": "如果你明白风险但仍希望继续,请选择此项。",
|
||||
"Final Confirmation: Overwrite Server Data with This Device's Files": "最终确认:用本设备的文件覆盖服务器数据",
|
||||
"There may be differences between the files in this Vault and the server.": "本库中的文件与服务器上可能存在差异。",
|
||||
"Please follow the steps below to import settings from your existing device.": "请按以下步骤从你现有的设备导入设置。",
|
||||
"This password is used to encrypt the connection. Use something long enough.": "此密码用于加密连接。请设置得足够长。",
|
||||
"This Vault is empty, or contains only new files that are not on the server.": "本库为空,或只包含服务器上没有的新文件。",
|
||||
"Please select an active P2P remote configuration to change P2P sync targets.": "请选择一个生效的 P2P 远端配置以更改 P2P 同步目标。",
|
||||
"However, This should not be enabled if you want to increase your secrecy more.": "不过,如果你希望进一步提高保密性,则不应启用此项。",
|
||||
"Please select the button below to restart and proceed to the final confirmation.": "请点击下方按钮重启,然后进入最终确认。",
|
||||
"The connection to the server has been configured successfully. As the next step,": "与服务器的连接已配置成功。下一步,",
|
||||
"Ui.SetupWizard.RebuildEverythingP2P.ConfirmLocalReset": "我明白这只会重置本设备的本地同步数据库。",
|
||||
"You should create a new synchronisation destination and rebuild your data there.": "你应当创建一个新的同步目标,并在那里重建数据。",
|
||||
"CouchDB validates the database name when you connect. The name must not be empty.": "CouchDB 会在连接时校验数据库名称。名称不能为空。",
|
||||
"the latest synchronisation data will be downloaded from the server to this device.": "最新的同步数据将从服务器下载到本设备。",
|
||||
"I am setting up a new server for the first time / I want to reset my existing server.": "我是第一次设置新服务器/我想重置现有服务器。",
|
||||
"(e.g., setting up for the first time on a new smartphone, starting from a clean slate)": "(例如:在新手机上首次设置,从零开始)",
|
||||
"Ui.Common.LocalDatabaseInitialisationFailed": "Self-hosted LiveSync 无法同步。请生成报告以查看详细日志。",
|
||||
"Please select the button below to restart and proceed to the data fetching confirmation.": "请点击下方按钮重启,然后进入数据获取确认。",
|
||||
"(e.g., immediately after restoring on another computer, or having recovered from a backup)": "(例如:在另一台电脑上还原之后,或从备份恢复之后)",
|
||||
"the local database, that is to say the synchronisation information, must be reconstituted.": "本地数据库(即同步信息)必须重建。",
|
||||
"The Setup-URI does not appear to be valid. Please check that you have copied it correctly.": "设置 URI 似乎无效。请检查是否完整复制。",
|
||||
"I understand that all changes made on other smartphones or computers possibly could be lost.": "我明白在其他手机或电脑上所做的更改可能会丢失。",
|
||||
"This setting must be the same even when connecting to multiple synchronisation destinations.": "即使连接到多个同步目标,此设置也必须保持一致。",
|
||||
"On the source device, from the command palette, run the 'Show settings as a QR code' command.": "在源设备上,从命令面板运行「Show settings as a QR code」命令。",
|
||||
"This can isolate your connections between devices. Use the same Room ID for the same devices.": "这可以隔离设备之间的连接。同一组设备请使用相同的房间 ID。",
|
||||
"the synchronisation data on the server will be built based on the current data on this device.": "服务器上的同步数据将基于本设备的当前数据构建。",
|
||||
"Ui.SetupWizard.OutroNewP2PUser.Question": "请点击下方按钮重启,然后进入本地初始化确认。",
|
||||
"On this device, switch to the camera app or use a QR code scanner to scan the displayed QR code.": "在本设备上切换到相机应用,或使用二维码扫描器扫描显示的二维码。",
|
||||
"Ui.SetupWizard.RebuildEverythingP2P.Note": "初始化后请保持本设备在线,以便其他设备从它获取库。",
|
||||
"After that, synchronise to a brand new vault on each other device with the new remote one by one.": "之后,在其他设备上逐个用新的远端同步到一个全新的库。",
|
||||
"Please enter the details required to connect to your S3/MinIO/R2 compatible object storage service.": "请填写连接到你的 S3/MinIO/R2 兼容对象存储服务所需的信息。",
|
||||
"Note that the Group ID is not limited to the generated format; you can use any string as the Group ID.": "请注意,组 ID 不限于生成的格式;你可以使用任意字符串作为组 ID。",
|
||||
"The remote is already set up, and the configuration is compatible (or got compatible by this operation).": "远端已设置好,且配置兼容(或经此操作后已兼容)。",
|
||||
"moduleCheckRemoteSize.noticeExceeded": "远端存储体积为 ${measuredSize},已超过配置的提醒阈值 ${notifySize}。{HERE}",
|
||||
"AddOn Module (ConfigSync) has not been loaded. This is very unexpected situation. Please report this issue.": "附加模块(ConfigSync)未能加载。这是非常意外的情况。请报告此问题。",
|
||||
"Ui.Common.SomeFilesCouldNotBeSynchronised": "并非所有文件都能同步。请检查受影响的文件。生成报告以查看详细日志。",
|
||||
"Initialise journal sent history. On the next sync, every item except this device received will be sent again.": "初始化日志的已发送历史。下次同步时,除本设备已接收的项外,其余都会重新发送。",
|
||||
"AddOn Module (HiddenFileSync) has not been loaded. This is very unexpected situation. Please report this issue.": "附加模块(HiddenFileSync)未能加载。这是非常意外的情况。请报告此问题。",
|
||||
"It is strongly advised to create a backup before proceeding. Continuing without a backup may lead to data loss.": "强烈建议在继续之前先做备份。没有备份继续可能导致数据丢失。",
|
||||
"This is an extremely powerful operation. We strongly recommend that you copy your Vault folder to a safe location.": "这是一项影响极大的操作。我们强烈建议先把库文件夹复制到安全位置。",
|
||||
"Initialise journal received history. On the next sync, every item except this device sent will be downloaded again.": "初始化日志的已接收历史。下次同步时,除本设备已发送的项外,其余都会重新下载。",
|
||||
"Hidden file synchronization have been temporarily disabled. Please enable them after the fetching, if you need them.": "隐藏文件同步已被临时停用。获取完成后如需使用,请重新启用。",
|
||||
"If \"Auto Start P2P Connection\" is enabled, the P2P connection will be started automatically when the plug-in launches.": "如果启用了「自动启动 P2P 连接」,插件启动时会自动建立 P2P 连接。",
|
||||
"(Select this if you already have another synchronising device.) This option adds this device to the same synchronisation.": "(如果你已有另一台正在同步的设备,请选择此项。)此选项会把本设备加入同一个同步。",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.FetchOptionP2PDesc": "重启后选择一台在线的源设备。本设备的本地 LiveSync 数据库将从该源设备重建。",
|
||||
"If you reached the payload size limit when using IBM Cloudant, please decrease batch size and batch limit to a lower value.": "如果在使用 IBM Cloudant 时达到载荷大小上限,请把批量大小和批量上限调低。",
|
||||
"Note that you can generate a new Setup URI by running the \"Copy settings as a new Setup URI\" command in the command palette.": "请注意,你可以在命令面板中运行「Copy settings as a new Setup URI」命令来生成新的设置 URI。",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.RebuildOptionP2PDesc": "用本库中当前的文件重建本设备的本地 LiveSync 数据库。这不会覆盖其他设备。",
|
||||
"Device name to identify the device. Please use shorter one for the stable peer detection, i.e., \"iphone-16\" or \"macbook-2021\".": "用于标识设备的名称。为了对等方检测更稳定,请使用较短的名字,例如「iphone-16」或「macbook-2021」。",
|
||||
"Please enter the Setup URI that was generated during server installation or on another device, along with the vault passphrase.": "请输入在服务器安装时或在其他设备上生成的设置 URI,以及库的密码短语。",
|
||||
"I understand that other devices will no longer be able to synchronise, and will need to be reset the synchronisation information.": "我明白其他设备将无法继续同步,需要重置同步信息。",
|
||||
"For HS256/HS512 algorithms, provide the shared secret key. For ES256/ES512 algorithms, provide the pkcs8 PEM-formatted private key.": "对于 HS256/HS512 算法,请提供共享密钥。对于 ES256/ES512 算法,请提供 pkcs8 PEM 格式的私钥。",
|
||||
"moduleLog.pathComponentTooLong": "此路径中包含超过 ${maxBytes} 个 UTF-8 字节的文件或文件夹名。在某些 Android 和 Linux 文件系统上可能无法正常工作。",
|
||||
"The connection test cannot add a signalling relay while P2P is active. Use the active relay settings, or disconnect P2P before testing.": "P2P 处于活动状态时,连接测试无法添加信令中继。请使用当前生效的中继设置,或先断开 P2P 再测试。",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.Guidance": "这些设置变更会改变同步数据的解释方式。请在重启后连同初始化操作一起应用。",
|
||||
"liveSyncReplicator.mismatchedTweakDetected": "检测到设备之间的配置存在不一致。执行一次手动复制将尝试解决此问题。",
|
||||
"Saving without a successful connection test keeps this profile, but automatic synchronisation may fail until the connection is corrected.": "未通过连接测试就保存会保留此档案,但在连接修正之前,自动同步可能会失败。",
|
||||
"If you want to use `LiveSync`, you should broadcast changes. All `watching` peers which detects this will start the replication for fetching.": "如果要使用 `LiveSync`,你应当广播变更。所有检测到变更的 `watching` 对等方都会启动复制以获取数据。",
|
||||
"Ui.SetupWizard.OutroNewP2PUser.GuidanceNotice": "P2P 没有中心服务器副本可供覆盖。此步骤只准备本设备;当其他设备获取初始数据时,请保持本设备在线。",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.RemoteVerificationGuidance": "无法用当前的凭据和加密设置验证所配置的远端。继续可能导致重启后获取失败。",
|
||||
"Ui.SetupWizard.OutroNewP2PUser.GuidancePrimary": "点对点连接已配置成功。接下来,将用本库中当前的文件构建本地 LiveSync 数据库。",
|
||||
"Restarting Obsidian is strongly recommended. Until restart, some changes may not take effect, and display may be inconsistent. Are you sure to restart now?": "强烈建议重启 Obsidian。在重启之前,部分更改可能不会生效,显示也可能不一致。确定现在重启吗?",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.RebuildOptionDesc": "用本库中当前的文件重建本地和远端数据库。其他正在同步的设备之后必须重置其本地同步。",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.FetchOptionDesc": "重启后,用当前的远端同步数据重建本设备的本地数据库。库中的文件随后会与该数据核对合并。",
|
||||
"The Group ID and passphrase are used to identify your group of devices. Make sure to use the same Group ID and passphrase on all devices you want to synchronise.": "组 ID 和密码短语用于标识你的设备组。请确保所有要同步的设备都使用相同的组 ID 和密码短语。",
|
||||
"Changing this setting requires migrating existing data (a bit time may be taken) and restarting Obsidian. Please make sure to back up your data before proceeding.": "更改此设置需要迁移现有数据(可能需要一些时间)并重启 Obsidian。请务必在继续之前备份数据。",
|
||||
"Furthermore, if conflicts are already present in the server data, they will be synchronised to this device as they are, and you will need to resolve them locally.": "此外,如果服务器数据中已存在冲突,它们会原样同步到本设备,你需要在本设备上解决。",
|
||||
"Selecting this option will result in this device joining the existing server. You need to fetching the existing synchronisation data from the server to this device.": "选择此选项后,本设备将加入现有服务器。你需要把服务器上已有的同步数据获取到本设备。",
|
||||
"In most cases, you should stick with the default algorithm (${algorithm}), This setting is only required if you have an existing Vault encrypted in a different format.": "大多数情况下,你应当沿用默认算法(${algorithm})。只有当你有以其他格式加密的现有库时,才需要此项设置。",
|
||||
"Selecting this option will result in the current data on this device being used to initialise the server. Any existing data on the server will be completely overwritten.": "选择此选项后,将用本设备的当前数据来初始化服务器。服务器上现有的数据将被完全覆盖。",
|
||||
"TURN server settings are only necessary if you are behind a strict NAT or firewall that prevents direct P2P connections. In most cases, you can leave these fields blank.": "只有当处于阻止直接 P2P 连接的严格 NAT 或防火墙之后时,才需要 TURN 服务器设置。大多数情况下这些字段可以留空。",
|
||||
"If you want to store the data in a specific folder within the bucket, you can specify a folder prefix here. Otherwise, leave it blank to store data at the root of the bucket.": "如果想把数据存放在存储桶内的指定文件夹中,可以在此指定文件夹前缀。否则留空,数据将存放在存储桶根目录。",
|
||||
", please select the option that best describes the current state of your Vault. The application will then check your files in the most appropriate way based on your selection.": ",请选择最符合你库当前状态的选项。程序会根据你的选择,用最合适的方式检查你的文件。",
|
||||
"Ui.SetupWizard.ApplySettingsInitialisation.BypassGuidance": "仅应用这些设置可能使本设备与其现有同步数据不兼容。请仅在确认无需重建时使用。",
|
||||
"Ui.SetupWizard.RebuildEverythingP2P.Guidance": "此操作会丢弃本设备的本地 LiveSync 数据库,并用本库中当前的文件重建。它不会删除或覆盖其他设备上的数据。",
|
||||
"Also, please note that if you are using Peer-to-Peer synchronization, this configuration will be used when you switch to other methods and connect to a remote server in the future.": "另外请注意,如果你正在使用点对点同步,当你日后切换到其他方式并连接远端服务器时,将使用此配置。",
|
||||
"Therefore, we ask that you exercise extreme caution when configuring server information manually. If an incorrect passphrase is entered, the data on the server will become corrupted.": "因此,我们要求你在手动配置服务器信息时格外小心。如果输入了错误的密码短语,服务器上的数据将会损坏。",
|
||||
"TweakMismatchResolve.Message.AutoAcceptCompatibleUndefined": "\n各设备的设置似乎存在差异。你现在可以自动应用兼容的更改到这些配置。\n是否要启用此「自动接受」设置?",
|
||||
"After restarting, the database on this device will be rebuilt using data from the server. If there are any unsynchronised files in this vault, conflicts may occur with the server data.": "重启后,将用服务器上的数据重建本设备的数据库。如果本库中有未同步的文件,可能会与服务器数据产生冲突。",
|
||||
"If you have unsynchronised changes in your Vault on this device, they will likely diverge from the server's versions after the reset. This may result in a large number of file conflicts.": "如果本设备的库中有未同步的更改,重置后它们很可能与服务器上的版本产生分歧。这可能导致大量文件冲突。",
|
||||
"Please be aware that the End-to-End Encryption passphrase is not validated until the synchronisation process actually commences. This is a security measure designed to protect your data.": "请注意,端到端加密密码短语要等到同步过程真正开始后才会被校验。这是为保护你的数据而设计的安全措施。",
|
||||
"This optional check uses Obsidian's internal request API and sends the credentials above to the CouchDB server. Use it only with a server you trust; administrator access may be required.": "此可选检查使用 Obsidian 的内部请求 API,并把上面的凭据发送到 CouchDB 服务器。请仅对你信任的服务器使用;可能需要管理员权限。",
|
||||
"After restarting, the data on this device will be uploaded to the server as the 'master copy'. Please be aware that any unintended data currently on the server will be completely overwritten.": "重启后,本设备上的数据将作为「主副本」上传到服务器。请注意,服务器上现有的任何非预期数据都会被完全覆盖。",
|
||||
"This will rebuild the local database on this device using the most recent data from the server. This action is designed to resolve synchronisation inconsistencies and restore correct functionality.": "这将用服务器上的最新数据重建本设备的本地数据库。此操作旨在解决同步不一致并恢复正常功能。",
|
||||
"In this scenario, Self-hosted LiveSync will recreate metadata for every file and deliberately generate conflicts. Where the file content is identical, these conflicts will be resolved automatically.": "在此情形下,Self-hosted LiveSync 会为每个文件重建元数据并有意制造冲突。若文件内容完全相同,这些冲突将被自动解决。",
|
||||
"This first setup has several short steps because it confirms encryption, the connection method, and which device provides the initial data. Once it is complete, additional devices can reuse a Setup URI.": "首次设置分为几个简短步骤,因为它要确认加密方式、连接方式,以及由哪台设备提供初始数据。完成后,其他设备可以复用设置 URI。",
|
||||
"We recommend that you copy your Vault folder to a safe location. This will provide a safeguard in case a large number of conflicts arise, or if you accidentally synchronise with an incorrect destination.": "我们建议你把库文件夹复制到安全位置。这样在出现大量冲突,或不小心同步到错误目标时,能多一层保障。",
|
||||
"The IndexedDB adapter often offers superior performance in certain scenarios, but it has been found to cause memory leaks when used with LiveSync mode. When using LiveSync mode, please use IDB adapter instead.": "IndexedDB 适配器在某些场景下性能更好,但已发现与 LiveSync 模式同用时会造成内存泄漏。使用 LiveSync 模式时,请改用 IDB 适配器。",
|
||||
"Changing the encryption algorithm will prevent access to any data previously encrypted with a different algorithm. Ensure that all your devices are configured to use the same algorithm to maintain access to your data.": "更改加密算法将导致无法访问此前用其他算法加密的数据。请确保所有设备都配置为使用相同算法,以保持对数据的访问。",
|
||||
"Unless you are certain, selecting this options is bit dangerous. It assumes that the server configuration is compatible with this device. If this is not the case, data loss may occur. Please ensure you know what you are doing.": "除非你非常确定,否则选择此选项有些危险。它假定服务器配置与本设备兼容。若不兼容,可能会发生数据丢失。请确保你清楚自己在做什么。",
|
||||
"This procedure will first delete all existing synchronisation data from the server. Following this, the server data will be completely rebuilt, using the current state of your Vault on this device (including its local database) as": "此操作会先删除服务器上所有现有的同步数据。随后,服务器数据将被完全重建,以本设备上你库的当前状态(包括其本地数据库)作为",
|
||||
"If you cannot avoid CORS issues, you might want to try this option. It uses Obsidian's internal API to communicate with the S3 server. Not compliant with web standards, but works. Note that this might break in future Obsidian versions.": "如果无法避开 CORS 问题,可以试试此选项。它使用 Obsidian 的内部 API 与 S3 服务器通信。不符合 Web 标准,但可用。请注意,未来的 Obsidian 版本可能会使其失效。",
|
||||
"If you cannot avoid CORS issues, you might want to try this option. It uses Obsidian's internal API to communicate with the CouchDB server. Not compliant with web standards, but works. Note that this might break in future Obsidian versions.": "如果无法避开 CORS 问题,可以试试此选项。它使用 Obsidian 的内部 API 与 CouchDB 服务器通信。不符合 Web 标准,但可用。请注意,未来的 Obsidian 版本可能会使其失效。",
|
||||
"You should perform this operation only in exceptional circumstances, such as when the server data is completely corrupted, when changes on all other devices are no longer needed, or when the database size has become unusually large in comparison to the Vault size.": "你只应在特殊情况下执行此操作,例如服务器数据完全损坏、其他所有设备上的更改都不再需要,或数据库体积相对于库体积异常庞大时。",
|
||||
"JWT (JSON Web Token) authentication allows you to securely authenticate with the CouchDB server using tokens. Ensure that your CouchDB server is configured to accept JWTs and that the provided key and settings match the server's configuration. Incidentally, I have not verified it very thoroughly.": "JWT(JSON Web Token)身份验证让你可以用令牌安全地通过 CouchDB 服务器验证身份。请确保你的 CouchDB 服务器已配置为接受 JWT,且所提供的密钥和设置与服务器配置相符。顺带一提,我并没有非常彻底地验证过它。",
|
||||
"Enabling end-to-end encryption ensures that your data is encrypted on your device before being sent to the remote server. This means that even if someone gains access to the server, they won't be able to read your data without the passphrase. Make sure to remember your passphrase, as it will be required to decrypt your data on other devices.": "启用端到端加密可确保数据在发送到远端服务器之前已在本设备上加密。这意味着即使有人获得了服务器的访问权限,没有密码短语也无法读取你的数据。请务必记住你的密码短语,因为在其他设备上解密数据时需要用到它。",
|
||||
"Obfuscating properties (e.g., path of file, size, creation and modification dates) adds an additional layer of security by making it harder to identify the structure and names of your files and folders on the remote server. This helps protect your privacy and makes it more difficult for unauthorized users to infer information about your data.": "混淆属性(例如文件路径、大小、创建和修改日期)通过让远端服务器上更难识别你文件和文件夹的结构与名称,增加了一层额外的安全保障。这有助于保护你的隐私,也让未授权用户更难推断出关于你数据的信息。"
|
||||
}
|
||||
|
||||
+588
-161
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user