fe5aa5bbf0
update-client-hardening 四工作流合入(构建/静态检查已过): - 配置:不可变产品策略经 UpdateClientResources.cmake 归一化校验后 内嵌 qrc(URL/相对路径/主程序必须落 install_root/版本/UUID 格式, CMake override 写入前复验);可变机器状态迁系统级原生存储; 运行目录不再落可编辑 app_config.json。 - i18n:生产源全英文(no-Han 检查 41/41),中文进 translations/ zh_CN 目录;翻译加载收敛 Common/TranslationHelper 唯一入口; Bootstrap 补资源文件。 - 依赖:Qt/OpenSSL/架构/Perl 机器路径改 imported targets + UpdateClientDependencies.cmake,3rdparty 由父工程契约供给。 - 清理:旧 README/SDK README/3 个重复 PowerShell 打包脚本/PDF 提取 文本删除,canonical README + 5 份结构化英文文档替代;Launcher requireAdministrator manifest;统一 MSVC /utf-8 删运行时编码设置。
815 lines
32 KiB
XML
815 lines
32 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!DOCTYPE TS>
|
||
<TS version="2.1" language="zh_CN" sourcelanguage="en_US">
|
||
<context>
|
||
<name>Launcher</name>
|
||
<message>
|
||
<source>Checking for software updates...</source>
|
||
<translation>正在检查软件更新...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Marsco Launcher</source>
|
||
<translation>Marsco 软件启动器</translation>
|
||
</message>
|
||
<message>
|
||
<source>application</source>
|
||
<translation>软件</translation>
|
||
</message>
|
||
<message>
|
||
<source>Enter the license for %1:</source>
|
||
<translation>请输入%1授权 License:</translation>
|
||
</message>
|
||
<message>
|
||
<source>%1
|
||
|
||
Please re-enter the license for %2:</source>
|
||
<translation>%1
|
||
|
||
请重新输入%2授权 License:</translation>
|
||
</message>
|
||
<message>
|
||
<source>Enter License</source>
|
||
<translation>输入 License</translation>
|
||
</message>
|
||
<message>
|
||
<source>License Required</source>
|
||
<translation>需要 License</translation>
|
||
</message>
|
||
<message>
|
||
<source>A license provided by an administrator is required for the first launch.</source>
|
||
<translation>首次启动需要输入管理员提供的 License。</translation>
|
||
</message>
|
||
<message>
|
||
<source>License Cannot Be Empty</source>
|
||
<translation>License 不能为空</translation>
|
||
</message>
|
||
<message>
|
||
<source>Paste the license created by an administrator.</source>
|
||
<translation>请粘贴管理员创建的 License。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Failed to Save License</source>
|
||
<translation>保存 License 失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot save system state at %1:
|
||
%2</source>
|
||
<translation>无法在 %1 保存系统状态:
|
||
%2</translation>
|
||
</message>
|
||
<message>
|
||
<source>Verifying license...</source>
|
||
<translation>正在验证 License...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Device Authentication Failed</source>
|
||
<translation>设备身份验证失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>The current license cannot be used: %1</source>
|
||
<translation>当前 License 无法使用:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>The device or license authorization is invalid.</source>
|
||
<translation>设备或 License 授权无效。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The server rejected the current license: %1</source>
|
||
<translation>当前 License 被服务端拒绝:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>License Saved</source>
|
||
<translation>License 已保存</translation>
|
||
</message>
|
||
<message>
|
||
<source>Restart Launcher to complete device authorization and check for updates.</source>
|
||
<translation>请重新启动 Launcher 完成设备授权和更新检查。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Authorization Denied</source>
|
||
<translation>授权被拒绝</translation>
|
||
</message>
|
||
<message>
|
||
<source>Select Offline Update Package</source>
|
||
<translation>选择离线更新包</translation>
|
||
</message>
|
||
<message>
|
||
<source>Marsco Offline Update Package (*.upd)</source>
|
||
<translation>Marsco 离线更新包 (*.upd)</translation>
|
||
</message>
|
||
<message>
|
||
<source>Offline Update</source>
|
||
<translation>离线更新</translation>
|
||
</message>
|
||
<message>
|
||
<source>No offline update package was selected.</source>
|
||
<translation>未选择离线更新包。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Validating the local run policy...</source>
|
||
<translation>正在验证本地运行策略...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Unable to Start</source>
|
||
<translation>无法启动</translation>
|
||
</message>
|
||
<message>
|
||
<source>The local version policy is invalid: %1</source>
|
||
<translation>本地版本策略无效:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>The local version policy has expired. Connect to the network or contact an administrator.</source>
|
||
<translation>本地版本策略已过期,请连接网络或联系管理员。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Current Version Cannot Run</source>
|
||
<translation>当前版本不可运行</translation>
|
||
</message>
|
||
<message>
|
||
<source>Version %1 has been disabled by an administrator.</source>
|
||
<translation>当前版本 %1 已被管理员停用。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot read the local state: %1</source>
|
||
<translation>无法读取本地状态:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>Security Check Failed</source>
|
||
<translation>安全检查失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>A version policy sequence rollback was detected, so startup was blocked.</source>
|
||
<translation>检测到版本策略序列回退,已阻止启动。</translation>
|
||
</message>
|
||
<message>
|
||
<source>A possible system clock rollback was detected, so startup was blocked.</source>
|
||
<translation>检测到系统时间可能被回拨,已阻止启动。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Version Rollback</source>
|
||
<translation>版本回退</translation>
|
||
</message>
|
||
<message>
|
||
<source>Update Required</source>
|
||
<translation>必须更新</translation>
|
||
</message>
|
||
<message>
|
||
<source>New Version Available</source>
|
||
<translation>发现新版本</translation>
|
||
</message>
|
||
<message>
|
||
<source>An administrator selected version %1 as the rollback target. Downgrade now?</source>
|
||
<translation>管理员选择版本 %1 作为回退目标,是否现在降级?</translation>
|
||
</message>
|
||
<message>
|
||
<source>Version %1 is available. Update now?</source>
|
||
<translation>发现新版本 %1,是否现在更新?</translation>
|
||
</message>
|
||
<message>
|
||
<source>
|
||
Target version: %1</source>
|
||
<translation>
|
||
目标版本:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>Startup Failed</source>
|
||
<translation>启动失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot start the main application: %1</source>
|
||
<translation>无法启动主程序:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>Updater Startup Failed</source>
|
||
<translation>更新器启动失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot start the updater: %1</source>
|
||
<translation>无法启动更新器:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>Server Unavailable</source>
|
||
<translation>服务器不可用</translation>
|
||
</message>
|
||
<message>
|
||
<source>The update server is currently unreachable. Import an offline update package?</source>
|
||
<translation>当前无法连接更新服务器。是否导入离线更新包?</translation>
|
||
</message>
|
||
<message>
|
||
<source>No offline update package was selected, or the updater could not be started.</source>
|
||
<translation>未选择离线更新包或无法启动更新器。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Network Unavailable</source>
|
||
<translation>网络不可用</translation>
|
||
</message>
|
||
<message>
|
||
<source>The update server is unreachable and the current policy does not allow offline startup.</source>
|
||
<translation>无法连接更新服务器,且当前策略不允许离线启动。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The current version is up to date. Starting...</source>
|
||
<translation>当前已是最新版本,正在启动...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Offline mode is active. Starting...</source>
|
||
<translation>当前处于离线模式,正在启动...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Integrity Check Failed</source>
|
||
<translation>完整性检查失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>Application files failed signed manifest verification:
|
||
%1</source>
|
||
<translation>应用文件未通过签名清单验证:
|
||
%1</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>LauncherErrorMarker</name>
|
||
<message>
|
||
<source>authorization</source>
|
||
<translation>授权</translation>
|
||
</message>
|
||
<message>
|
||
<source>expired</source>
|
||
<translation>过期</translation>
|
||
</message>
|
||
<message>
|
||
<source>device limit reached</source>
|
||
<translation>设备数量已达到上限</translation>
|
||
</message>
|
||
<message>
|
||
<source>bound to another license</source>
|
||
<translation>已绑定其他授权</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>MainApp</name>
|
||
<message>
|
||
<source>Startup Restriction</source>
|
||
<translation>启动受限</translation>
|
||
</message>
|
||
<message>
|
||
<source>Invalid or missing one-time launch ticket: %1
|
||
Please use %2.</source>
|
||
<translation>一次性启动票据无效或缺失:%1
|
||
请通过 %2 启动。</translation>
|
||
</message>
|
||
<message>
|
||
<source>License Error</source>
|
||
<translation>授权错误</translation>
|
||
</message>
|
||
<message>
|
||
<source>Local license invalid: %1</source>
|
||
<translation>本地授权无效:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>Policy Error</source>
|
||
<translation>策略错误</translation>
|
||
</message>
|
||
<message>
|
||
<source>Local policy invalid: %1</source>
|
||
<translation>本地策略无效:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>Policy expired. The application cannot start.</source>
|
||
<translation>策略已过期,应用程序无法启动。</translation>
|
||
</message>
|
||
<message>
|
||
<source>State Error</source>
|
||
<translation>状态错误</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot load local state: %1</source>
|
||
<translation>无法加载本地状态:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>A policy sequence rollback was detected, so startup was blocked.</source>
|
||
<translation>检测到策略序列回退,已阻止启动。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The system clock appears to have moved backward, so startup was blocked.</source>
|
||
<translation>检测到系统时间可能被回拨,已阻止启动。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Integrity Check Failed</source>
|
||
<translation>完整性检查失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>Application files failed signed manifest verification:
|
||
%1</source>
|
||
<translation>应用程序文件未通过签名 Manifest 校验:
|
||
%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot save local state: %1</source>
|
||
<translation>无法保存本地状态:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>Startup Error</source>
|
||
<translation>启动错误</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot write the update health confirmation file.</source>
|
||
<translation>无法写入更新健康确认文件。</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>MainWindow</name>
|
||
<message>
|
||
<source>missing</source>
|
||
<translation>缺失</translation>
|
||
</message>
|
||
<message>
|
||
<source>unreadable</source>
|
||
<translation>无法读取</translation>
|
||
</message>
|
||
<message>
|
||
<source>Marsco Demo MainApp</source>
|
||
<translation>Marsco 主程序演示</translation>
|
||
</message>
|
||
<message>
|
||
<source>unknown</source>
|
||
<translation>未知</translation>
|
||
</message>
|
||
<message>
|
||
<source>policy missing</source>
|
||
<translation>策略缺失</translation>
|
||
</message>
|
||
<message>
|
||
<source>policy invalid</source>
|
||
<translation>策略无效</translation>
|
||
</message>
|
||
<message>
|
||
<source>version disabled</source>
|
||
<translation>版本已停用</translation>
|
||
</message>
|
||
<message>
|
||
<source>policy expired</source>
|
||
<translation>策略已过期</translation>
|
||
</message>
|
||
<message>
|
||
<source>policy ok</source>
|
||
<translation>策略有效</translation>
|
||
</message>
|
||
<message>
|
||
<source>Software Running Successfully
|
||
Version: %1
|
||
DLL Version: %2
|
||
Policy: %3</source>
|
||
<translation>软件运行成功
|
||
版本:%1
|
||
DLL 版本:%2
|
||
策略:%3</translation>
|
||
</message>
|
||
<message>
|
||
<source>The signed policy does not allow this installed version to run.</source>
|
||
<translation>签名策略不允许运行当前安装版本。</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>Updater</name>
|
||
<message>
|
||
<source>Invalid Offline Package</source>
|
||
<translation>离线包无效</translation>
|
||
</message>
|
||
<message>
|
||
<source>Invalid Updater Arguments</source>
|
||
<translation>更新器参数错误</translation>
|
||
</message>
|
||
<message>
|
||
<source>The updater requires online update arguments or an offline update package.</source>
|
||
<translation>更新器缺少在线更新参数或离线更新包。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Offline Package Not Applicable</source>
|
||
<translation>离线包不适用</translation>
|
||
</message>
|
||
<message>
|
||
<source>The update package application or channel does not match this installation.</source>
|
||
<translation>更新包的应用或渠道与本机配置不一致。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Offline Update Denied</source>
|
||
<translation>离线更新被拒绝</translation>
|
||
</message>
|
||
<message>
|
||
<source>The local signed policy has expired, prohibits offline updates, or does not allow the target version.</source>
|
||
<translation>本地签名策略已过期、禁止离线更新或不允许目标版本。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Downgrade Prohibited</source>
|
||
<translation>禁止降级</translation>
|
||
</message>
|
||
<message>
|
||
<source>The current signed policy does not allow installing an older offline package.</source>
|
||
<translation>当前签名策略不允许安装较低版本的离线包。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Update Recovery Failed</source>
|
||
<translation>更新恢复失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>The previous update did not finish, and the old version could not be restored: %1
|
||
Do not continue running the software. Contact an administrator.</source>
|
||
<translation>检测到上次更新未完成,但无法恢复旧版本:%1
|
||
请不要继续运行软件,并联系管理员。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The old files were restored, but the version state could not be restored. Check access to the system state store.</source>
|
||
<translation>旧文件已经恢复,但无法恢复版本状态,请检查系统状态存储的访问权限。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Preparing the update...</source>
|
||
<translation>正在准备更新...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Updating to %1</source>
|
||
<translation>正在更新到 %1</translation>
|
||
</message>
|
||
<message>
|
||
<source>Preparing the download...</source>
|
||
<translation>正在准备下载...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Downloading: %1</source>
|
||
<translation>正在下载:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>Handing rollback over to Bootstrap...</source>
|
||
<translation>正在将回滚工作移交给 Bootstrap...</translation>
|
||
</message>
|
||
<message>
|
||
<source>
|
||
|
||
Bootstrap could not be started to perform the rollback. Do not continue running the software. Contact an administrator.</source>
|
||
<translation>
|
||
|
||
无法启动 Bootstrap 执行回滚。请不要继续运行软件,并联系管理员。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Transaction Resume Failed</source>
|
||
<translation>事务续办失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot read the Bootstrap update transaction: %1</source>
|
||
<translation>无法读取 Bootstrap 更新事务:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>Update Rolled Back</source>
|
||
<translation>更新已回滚</translation>
|
||
</message>
|
||
<message>
|
||
<source>The new version could not be installed or started. The old version was restored and started automatically.</source>
|
||
<translation>新版本安装或启动失败,已自动恢复并启动旧版本。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The old files were restored, but the old version number could not be written back. Check permissions on the system state store.</source>
|
||
<translation>旧文件已经恢复,但旧版本号写回失败,请检查系统状态存储权限。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Automatic Rollback Failed</source>
|
||
<translation>自动回滚失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>Bootstrap could not fully restore the old version. Do not continue running the software. Contact an administrator.</source>
|
||
<translation>Bootstrap 无法完整恢复旧版本。请不要继续运行软件,并联系管理员。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Update Preparation Failed</source>
|
||
<translation>更新准备失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot create the update transaction directory or save its state.</source>
|
||
<translation>无法创建更新事务目录或保存事务状态。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot save the offline transaction marker.</source>
|
||
<translation>无法保存离线事务标记。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Fetching and validating the version manifest...</source>
|
||
<translation>正在获取并验证版本清单...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Validating the offline update package...</source>
|
||
<translation>正在验证离线更新包...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Manifest Cache Failed</source>
|
||
<translation>清单缓存失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>The signed manifest cache could not be read after Bootstrap installation.</source>
|
||
<translation>Bootstrap 安装后无法读取签名 Manifest 缓存。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Security Validation Failed</source>
|
||
<translation>安全验证失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>The version manifest signature could not be revalidated after Bootstrap installation.</source>
|
||
<translation>Bootstrap 安装后无法重新验证版本清单签名。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The version manifest signature is invalid. The update has stopped. Contact an administrator.</source>
|
||
<translation>版本清单签名无效,更新已停止。请联系管理员。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot save the new version manifest cache.</source>
|
||
<translation>无法保存新版本 Manifest 缓存。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot save the new version manifest cache. The update has stopped.</source>
|
||
<translation>无法保存新版本 Manifest 缓存,更新已停止。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Fetching secure download URLs...</source>
|
||
<translation>正在获取安全下载地址...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Preparing offline package files...</source>
|
||
<translation>正在准备离线包文件...</translation>
|
||
</message>
|
||
<message>
|
||
<source>No Update Files</source>
|
||
<translation>没有可更新文件</translation>
|
||
</message>
|
||
<message>
|
||
<source>The server returned no version files. The update has stopped.</source>
|
||
<translation>服务器没有返回任何版本文件,更新已停止。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Insufficient Disk Space</source>
|
||
<translation>磁盘空间不足</translation>
|
||
</message>
|
||
<message>
|
||
<source>The update requires at least %1 of free space, but the installation drive has only %2 available.
|
||
The required space includes downloaded files, the old-version backup, and a safety margin.</source>
|
||
<translation>更新至少需要 %1 可用空间,安装盘当前仅剩 %2。
|
||
所需空间已包含下载文件、旧版本备份和安全余量。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Downloading and validating %1 version files...</source>
|
||
<translation>正在下载并校验 %1 个版本文件...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Extracting and validating %1 offline files...</source>
|
||
<translation>正在提取并校验 %1 个离线文件...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Offline Package Extraction Failed</source>
|
||
<translation>离线包提取失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>Download Failed</source>
|
||
<translation>下载失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>Some files could not be downloaded or failed SHA-256 validation. Check the network and try again.</source>
|
||
<translation>部分文件下载失败或 SHA-256 校验未通过,请检查网络后重试。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Validating the complete version files...</source>
|
||
<translation>正在校验完整版本文件...</translation>
|
||
</message>
|
||
<message>
|
||
<source>File Validation Failed</source>
|
||
<translation>文件校验失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>The staged files do not match the version manifest. The update has stopped.</source>
|
||
<translation>暂存文件与版本清单不一致,更新已停止。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Bootstrap Cannot Update Itself</source>
|
||
<translation>Bootstrap 无法自更新</translation>
|
||
</message>
|
||
<message>
|
||
<source>This version contains a new %1. Upgrade this component with the installer, then republish the application version.</source>
|
||
<translation>本次版本包含新的 %1。请使用安装包升级该组件,再重新发布业务版本。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Transaction Recording Failed</source>
|
||
<translation>事务记录失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot save the validated-file or pending-deletion lists. The update has stopped.</source>
|
||
<translation>无法保存已校验或待删除文件列表,更新已停止。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Closing the main application...</source>
|
||
<translation>正在关闭主程序...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot Close Main Application</source>
|
||
<translation>无法关闭主程序</translation>
|
||
</message>
|
||
<message>
|
||
<source>%1 is still running. Close it manually and try again.</source>
|
||
<translation>%1 仍在运行,请手动关闭后重试。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Backing up %1 files to be changed, including %2 deletions...</source>
|
||
<translation>正在备份 %1 个待变更文件(其中删除 %2 个)...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Backup Failed</source>
|
||
<translation>备份失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot back up the current version files. The new version has not been installed. Check disk space and directory permissions.</source>
|
||
<translation>无法备份当前版本文件,尚未安装新版本。请检查磁盘空间和目录权限。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Handoff Preparation Failed</source>
|
||
<translation>接管准备失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot create the Bootstrap file plan.</source>
|
||
<translation>无法创建 Bootstrap 文件计划。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot write the Bootstrap copy plan.</source>
|
||
<translation>无法写入 Bootstrap 复制计划。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot write the Bootstrap deletion plan.</source>
|
||
<translation>无法写入 Bootstrap 删除计划。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot commit the Bootstrap file plan or transaction state.</source>
|
||
<translation>无法提交 Bootstrap 文件计划或事务状态。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Handing installation over to Bootstrap...</source>
|
||
<translation>正在将安装工作移交给 Bootstrap...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Bootstrap Startup Failed</source>
|
||
<translation>Bootstrap 启动失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot start the independent update handoff program: %1</source>
|
||
<translation>无法启动独立更新接管程序:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>Validating the Bootstrap installation result...</source>
|
||
<translation>正在校验 Bootstrap 安装结果...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Installation Validation Failed</source>
|
||
<translation>安装校验失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>The new version files failed validation after installation.</source>
|
||
<translation>新版本文件安装后校验未通过。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Obsolete File Cleanup Failed</source>
|
||
<translation>废弃文件清理失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>An obsolete file still exists: %1</source>
|
||
<translation>废弃文件仍然存在:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>Saving the new version state...</source>
|
||
<translation>正在保存新版本状态...</translation>
|
||
</message>
|
||
<message>
|
||
<source>State Save Failed</source>
|
||
<translation>状态保存失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot save the current version number.</source>
|
||
<translation>无法保存当前版本号。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Starting the new version and waiting for a health confirmation...</source>
|
||
<translation>正在启动新版本并等待健康确认...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Startup Failed</source>
|
||
<translation>启动失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>%1 could not be started.</source>
|
||
<translation>%1 无法启动。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Startup Confirmation Failed</source>
|
||
<translation>启动确认失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>The new version did not complete its startup health confirmation within %1 milliseconds.</source>
|
||
<translation>新版本在 %1 毫秒内没有完成启动健康确认。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Committing the update transaction...</source>
|
||
<translation>正在提交更新事务...</translation>
|
||
</message>
|
||
<message>
|
||
<source>Transaction Commit Failed</source>
|
||
<translation>事务提交失败</translation>
|
||
</message>
|
||
<message>
|
||
<source>The new version started, but the update transaction could not be committed.</source>
|
||
<translation>新版本已经启动,但无法提交更新事务。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Update Complete</source>
|
||
<translation>更新完成</translation>
|
||
</message>
|
||
<message>
|
||
<source>The software was updated successfully to %1 and passed the startup health check.</source>
|
||
<translation>软件已成功更新到 %1,并通过启动健康检查。</translation>
|
||
</message>
|
||
<message>
|
||
<source>Update Denied</source>
|
||
<translation>更新被拒绝</translation>
|
||
</message>
|
||
<message>
|
||
<source>The local signed policy is invalid, expired, not applicable to this installation, or does not allow the requested update.</source>
|
||
<translation>本地签名策略无效、已过期、不适用于此安装,或不允许请求的更新。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The current signed policy does not allow installing an older version.</source>
|
||
<translation>当前签名策略不允许安装旧版本。</translation>
|
||
</message>
|
||
</context>
|
||
<context>
|
||
<name>UpdaterLogic</name>
|
||
<message>
|
||
<source>Cannot open the offline update package.</source>
|
||
<translation>无法打开离线更新包。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The offline package format identifier is invalid.</source>
|
||
<translation>离线包格式标识无效。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The offline package header is incomplete.</source>
|
||
<translation>离线包头不完整。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The offline package header length is invalid.</source>
|
||
<translation>离线包头长度无效。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The offline package header contains invalid JSON.</source>
|
||
<translation>离线包头 JSON 无效。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The offline package RSA signature is invalid.</source>
|
||
<translation>离线包 RSA 签名无效。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The signed offline package metadata is invalid.</source>
|
||
<translation>离线包签名元数据无效。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The manifest digest does not match the package signature.</source>
|
||
<translation>Manifest 摘要与包签名不一致。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The offline manifest is invalid.</source>
|
||
<translation>离线 Manifest 无效。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The package metadata and manifest identity do not match.</source>
|
||
<translation>包信息与 Manifest 身份不一致。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The offline manifest RSA signature is invalid.</source>
|
||
<translation>离线 Manifest RSA 签名无效。</translation>
|
||
</message>
|
||
<message>
|
||
<source>The offline package contains an unsafe path or out-of-bounds data: %1</source>
|
||
<translation>离线包包含不安全路径或越界数据:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot prepare the offline file: %1</source>
|
||
<translation>无法准备离线文件:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>Cannot create the staged file: %1</source>
|
||
<translation>无法创建暂存文件:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>Failed to read the offline file: %1</source>
|
||
<translation>离线文件读取失败:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>Offline file hash validation or writing failed: %1</source>
|
||
<translation>离线文件 Hash 校验或写入失败:%1</translation>
|
||
</message>
|
||
<message>
|
||
<source>The number of files in the offline package does not match the manifest.</source>
|
||
<translation>离线包文件数量与 Manifest 不一致。</translation>
|
||
</message>
|
||
</context>
|
||
</TS>
|