- 首屏自动扫:删掉 `cfg!(test)` 分叉,生产入口在测试里真跑;新增 `the_first_hydrate_starts_a_real_scan_by_itself`(删掉那一行、或把实参翻成 `true` 都红)。顺手删掉恒为假的 `seeded && !live`:截图种子档在上方就 return 了,编译器也 报 "assigned but never used"。 - proc:`kill()` + `wait()` 收进 `terminate()`(三个分支共用);用例先用同一条命令 真跑一次证明子进程起得来(`spawn().ok()?` 的空跑假绿),并新增 Linux/Android 的 僵尸回收用例(只 kill 不 wait ⇒ `/proc/<pid>` 留成僵尸)。 - java.extra_args:`MAX_JVM_ARGS = 1024` 镜像 schema,`Refusal::JvmTooLong` + 中英 文案 + JVM 输入框变红;App 级用例断言回执是具名的「太长」而不是通用的「写不进去」。 - 设置页正文:判据①从「数 `stack = stack.push(` 的出现次数」升级成按角色断言 (唯一来源 section_columns、`push(` 恰一次且实参是循环变量、尾表达式、禁 extend/chain/once/concat/append),单行折叠变异体现在会红。
213 lines
26 KiB
Rust
213 lines
26 KiB
Rust
//! 金表的**后半段的前半截**(`InstancesLaunchReset` 之后、到 M197 的 Java 域结束)。
|
||
//!
|
||
//! 为什么拆:`golden.rs` 在 M157 加了 19 行启动参数文案后到 416 行,越过 400 行硬线;
|
||
//! 拆分口径与仓库其它 `-p1/-p2` 一致——**纯搬移、一行不改**,顺序即 `Key::ALL` 的后半段。
|
||
//! 拼装与断言在 `golden.rs` 的 [`rows`] 与 `catalog/tests.rs`。
|
||
//!
|
||
//! **M197 起本段只到 Java 域结束**:M197 往 `settings_java_entries` 追加了 68 行,加上 dev 侧
|
||
//! 其它 mission 后加的行会涨到 470+(越过 400 行硬线),于是把 **M174 助手域起的那半截**
|
||
//! 纯搬移到 [`super::tail_ai`](链序:`golden` → `tail` → `tail_ai` → `tail2`)。
|
||
//! 搬移只改位置:其余每一行逐字节原样(含其它 mission 后加的行)。
|
||
pub(super) const ROWS: &[(&str, &str, &str)] = &[
|
||
("LoaderVanilla", "Vanilla", "原版"),
|
||
("LaunchOutcomeNormal", "Finished normally", "正常结束"),
|
||
("LaunchOutcomeCrash", "The game crashed", "游戏崩溃"),
|
||
("LaunchOutcomeSilent", "Suspected silent failure: exit code 0, but the game never really started", "疑似静默失败:退出码 0,但游戏没真正跑起来"),
|
||
("LaunchFailedWithCode", "Launch failed (exit {code}): {reason}", "启动失败(退出码 {code}):{reason}"),
|
||
("LaunchStageVersionManifest", "Reading the version file", "读版本文件"),
|
||
("LaunchStageInheritance", "Resolving the inheritance chain", "解析继承链"),
|
||
("LaunchStageInstanceConfig", "Reading the instance settings", "读实例设置"),
|
||
("LaunchStageIsolation", "Preparing the isolated game folder", "准备隔离游戏目录"),
|
||
("LaunchStageIdentity", "Preparing the account", "准备账户"),
|
||
("LaunchStageSpawn", "Starting the game process", "启动游戏进程"),
|
||
("LaunchStageFailed", "Launch failed · {stage}: {detail}", "启动失败 · {stage}:{detail}"),
|
||
("LaunchToastEnded", "{outcome} · {seconds}s", "{outcome} · {seconds} 秒"),
|
||
("LaunchMsaNotConfigured", "Microsoft sign-in is not configured: it needs an Azure public client id (the login flow itself is implemented). Build with ULL_MSA_CLIENT_ID=<id>, or set that environment variable before launching.", "微软登录未配置:缺少 Azure 公共客户端 id(登录功能已实现,只差这一项配置)。构建时注入:ULL_MSA_CLIENT_ID=<id> cargo build;或启动前设置同名环境变量 ULL_MSA_CLIENT_ID=<id>。"),
|
||
("FontCjkNeedsDownload", "No Chinese font found on this system. Download an open-source (OFL) Chinese font?", "系统里没找到中文字体。要下载一套开源(OFL)中文字体吗?"),
|
||
("FontCjkDownloading", "Downloading Chinese font… {percent}%", "正在下载中文字体… {percent}%"),
|
||
("FontCjkDownloadFailed", "Chinese font download failed; the interface stays in English.", "中文字体下载失败,界面暂时保持英文。"),
|
||
("FontCjkReady", "Chinese font ready: {family}", "中文字体已就绪:{family}"),
|
||
("SettingsLanguage", "Language", "界面语言"),
|
||
("SettingsLanguageHint", "Switches the interface language. Chinese text needs a Chinese font.", "切换界面语言。显示中文需要中文字体。"),
|
||
("SettingsLogsFolder", "Log folder", "日志文件夹"),
|
||
("SettingsLogsFolderHint", "What explains a crash lives here: the launcher's own runtime log (launcher.log, rolled over at 1 MiB with one old copy kept) and one jsonl per game session under logs/game/. Sessions from older versions (data/agent/sessions) are still read, not moved.", "解释一次崩溃要看的东西都在这:启动器自己的运行日志(launcher.log,满 1 MiB 滚动一次、只留一份旧档)与每次游戏会话的 jsonl(logs/game/)。旧版本留下的会话(data/agent/sessions)仍然读得出来,不会被搬动。"),
|
||
("SettingsLogsCopy", "Copy path", "复制路径"),
|
||
("SettingsLogsUnknown", "Data directory not resolved — restart the launcher from its own folder", "数据根没解析出来——从启动器所在目录重新启动试试"),
|
||
("SettingsAppearanceCorner", "Window corners", "窗口圆角"),
|
||
("SettingsAppearanceCornerSystem", "Follow system", "跟随系统"),
|
||
("SettingsAppearanceCornerSquare", "Square", "直角"),
|
||
("SettingsAppearanceCornerHint", "On Windows 11 and Server 2025 we ask the system for rounded corners; Windows 10 keeps square corners. On macOS and Linux the desktop's own rules apply. We never draw corners ourselves.", "Windows 11 与 Windows Server 2025 上我们请求系统处理外框圆角;Windows 10 保持直角;macOS 与 Linux 交给桌面合成器自己的规则;我们不自己画圆角。"),
|
||
("SettingsAppearanceCornerSuspended", "Not in effect right now: window transparency is below 100%. Setting it back to 100% restores the rounded corners.", "当前因整窗透明度不生效:把整窗透明度调回 100% 圆角即恢复。"),
|
||
// M180:外观分组补齐(`catalog/settings/appearance.rs` 的第二批,M116 圆角那 5 条之后)。
|
||
// 位置就是装配链里那个域的位置——`settings_appearance_entries` 在 `settings_java_entries` 之前,
|
||
// 所以这 40 行必须落在 `SettingsAppearanceCornerSuspended` 与 `SettingsJavaScan` 之间
|
||
// (顺序 = `Key::ALL`;为排到文件尾而重排别人的族会让 `split_keeps_every_translation` 整片红)。
|
||
("SettingsAppearanceWindowOpacity", "Window transparency", "整窗透明度"),
|
||
("SettingsAppearanceWindowOpacityHint", "Applies to the whole window. Floor {floor}; 1.00 = fully opaque.", "作用于整个窗口。下限 {floor};1.00 = 完全不透明。"),
|
||
("SettingsAppearancePanelOpacity", "Panel transparency", "面板透明度"),
|
||
("SettingsAppearancePanelOpacityHint", "Only the panel/card layer. Floor {floor}; independent of window transparency.", "只作用于面板 / 卡片这一层。下限 {floor};与整窗透明度互不影响。"),
|
||
("SettingsAppearancePanelOpacityForcedValue", "100% (forced from {requested})", "100%(强制,原请求值 {requested})"),
|
||
("SettingsAppearancePanelOpacityForcedHint", "Software renderer: panels and glass stay fully opaque (window transparency still works).", "软件渲染:面板与玻璃效果恒为不透明(整窗透明度仍然有效)。"),
|
||
("SettingsAppearanceBackgroundImage", "Background image", "背景图"),
|
||
("SettingsAppearanceOff", "Off", "关"),
|
||
("SettingsAppearanceOn", "On", "开"),
|
||
("SettingsAppearanceImagePath", "Image path", "图片路径"),
|
||
("SettingsAppearancePaletteLevel", "Colours: {level}", "配色:{level}"),
|
||
("SettingsAppearanceBgFill", "Fill", "填充方式"),
|
||
("SettingsAppearanceBgFillCover", "Cover", "铺满"),
|
||
("SettingsAppearanceBgFillContain", "Contain", "完整显示"),
|
||
("SettingsAppearanceBgFillTile", "Tile", "平铺"),
|
||
("SettingsAppearanceBgDim", "Dim", "暗化"),
|
||
("SettingsAppearanceBgDimHint", "Blends the image toward the panel colour so text stays readable. Max {max}.", "把背景图往面板底色上退,让文字读得清。上限 {max}。"),
|
||
("SettingsAppearancePaletteSource", "Colour source", "配色来源"),
|
||
("SettingsAppearancePaletteBackground", "Background", "取自背景图"),
|
||
("SettingsAppearancePaletteWallpaper", "Wallpaper", "取自壁纸"),
|
||
("SettingsAppearancePalettePreset", "Preset", "内置色卡"),
|
||
("SettingsAppearanceBgReadFailed", "Background image could not be read: {reason}", "背景图读不出来:{reason}"),
|
||
("SettingsAppearanceBgDecodeFailed", "Background image could not be decoded ({reason}; this build decodes PNG, JPEG and BMP)", "背景图解不开({reason};这个构建只支持 PNG、JPEG 与 BMP)"),
|
||
("SettingsAppearanceBgTooLarge", "Background image is too large to decode: {width}×{height} (limit {limit} px per edge)", "背景图太大,解不开:{width}×{height}(每边上限 {limit} 像素)"),
|
||
("SettingsAppearanceBgSmallTile", "Small image ({width}×{height}): tiles are scaled up so the window stays covered (max {max} tiles, no gaps).", "图片很小({width}×{height}):图块会被放大,保证窗口铺满(最多 {max} 块,不留缝)。"),
|
||
("SettingsAppearancePaletteBgUndecodable", "Background image could not be read; colours fall back.", "背景图读不出来,配色回落到下一级。"),
|
||
("SettingsAppearancePaletteBgTooSmall", "Background image is too small to sample; colours fall back.", "背景图太小,取不了色,配色回落到下一级。"),
|
||
("SettingsAppearancePaletteBgBadDimensions", "Background image data looks inconsistent; colours fall back.", "背景图数据前后不一致,配色回落到下一级。"),
|
||
("SettingsAppearancePaletteBgNoOpaquePixels", "Background image is almost fully transparent; colours fall back.", "背景图几乎全透明,配色回落到下一级。"),
|
||
("SettingsAppearancePaletteBgLowChroma", "Background image is too monochrome to tint from; colours fall back.", "背景图太单调(彩度不足),取不出配色,回落到下一级。"),
|
||
("SettingsAppearancePaletteBgContrast", "Background image colours would be unreadable; colours fall back.", "按背景图取的颜色读不清,配色回落到下一级。"),
|
||
("SettingsAppearancePaletteWallpaperUndecodable", "Desktop wallpaper could not be read.", "桌面壁纸读不出来。"),
|
||
("SettingsAppearancePaletteWallpaperTooSmall", "Desktop wallpaper is too small to sample.", "桌面壁纸太小,取不了色。"),
|
||
("SettingsAppearancePaletteWallpaperBadDimensions", "Desktop wallpaper data looks inconsistent.", "桌面壁纸数据前后不一致。"),
|
||
("SettingsAppearancePaletteWallpaperNoOpaquePixels", "Desktop wallpaper is almost fully transparent.", "桌面壁纸几乎全透明。"),
|
||
("SettingsAppearancePaletteWallpaperLowChroma", "Desktop wallpaper is too monochrome to tint from.", "桌面壁纸太单调(彩度不足),取不出配色。"),
|
||
("SettingsAppearancePaletteWallpaperContrast", "Desktop wallpaper colours would be unreadable; colours fall back.", "按桌面壁纸取的颜色读不清,配色回落到下一级。"),
|
||
("SettingsAppearancePalettePresetContrast", "The built-in card needed a small contrast correction.", "内置色卡做了一点对比度修正。"),
|
||
("SettingsAppearancePaletteAdjusted", "A few colours were nudged for readability.", "有几个颜色为了可读性做了微调。"),
|
||
// M175:设置页「Java」分组(`catalog/settings/java.rs` 的 `settings_java_entries`)。
|
||
// 位置就是装配链里那个域的位置:`settings_java_entries` 在 `settings_appearance_entries` 之后、
|
||
// `settings_download_entries`(空)与 `settings_ai_entries`(M174)之前,所以这几行必须落在
|
||
// `SettingsAppearanceCornerSuspended` 与 `SettingsGroupAssistant` 之间(顺序 = `Key::ALL`)。
|
||
("SettingsJavaScan", "Scan now", "立即扫描"),
|
||
("SettingsJavaScanningStart", "Scanning…", "正在扫描…"),
|
||
("SettingsJavaScanning", "Scanning… {done}/{total}", "正在扫描… {done}/{total}"),
|
||
("SettingsJavaCancelling", "Cancelling…", "正在取消…"),
|
||
("SettingsJavaCancel", "Cancel", "取消"),
|
||
("SettingsJavaCancelled", "The scan was cancelled; the list below is from the previous run.", "扫描已取消;下面的列表还是上一次的结果。"),
|
||
("SettingsJavaScanDone", "{count} JDK found", "找到 {count} 个 JDK"),
|
||
("SettingsJavaNeverScanned", "Not scanned yet", "还没扫描过"),
|
||
("SettingsJavaNeverScannedBody", "The list is still empty. The launcher scans once by itself when the settings page opens; press Scan now to look again right away.", "列表还是空的。打开设置页时启动器会自己扫一次;也可以点「立即扫描」立刻再扫一遍。"),
|
||
("SettingsJavaEmptyTitle", "No Java runtime found", "未检测到 Java 运行时"),
|
||
("SettingsJavaEmptyBody", "Nothing matched. Add the path of a JDK you already unpacked below, or install one with ull java install 21 on the command line.", "没找到任何 JDK。可以在下面手动加上你自己解压的那份,或者用命令行 ull java install 21 装一个。"),
|
||
("SettingsJavaDefault", "Default", "默认"),
|
||
("SettingsJavaSetDefault", "Use as default", "设为默认"),
|
||
("SettingsJavaFits", "Meets the current instance requirement", "满足当前实例的要求"),
|
||
("SettingsJavaTooOld", "Below the requirement: this instance needs Java {minimum}+", "低于要求:当前实例需要 Java {minimum} 及以上"),
|
||
("SettingsJavaDefaultSet", "Default JDK is now {path}", "默认 JDK 已设为 {path}"),
|
||
("SettingsJavaSourceManaged", "installed by this launcher", "本启动器安装"),
|
||
("SettingsJavaSourceEnv", "JAVA_HOME (environment variable)", "JAVA_HOME(环境变量)"),
|
||
("SettingsJavaSourcePath", "on PATH", "PATH 上"),
|
||
("SettingsJavaSourceSystem", "system install", "系统安装"),
|
||
("SettingsJavaSourceManual", "added by you", "手动添加"),
|
||
("SettingsJavaAdd", "Add a JDK path", "手动添加 JDK 路径"),
|
||
("SettingsJavaAddPlaceholder", "C:\\Program Files\\Java\\jdk-21", "例:C:\\Program Files\\Java\\jdk-21"),
|
||
("SettingsJavaAddHint", "A JDK folder or its java executable. We run java -version on it; anything that cannot answer is refused.", "JDK 目录或它的 java 可执行文件。会真跑一次 java -version;答不出话的一律拒绝。"),
|
||
("SettingsJavaAddAction", "Add", "添加"),
|
||
("SettingsJavaAdded", "Added {path}", "已添加 {path}"),
|
||
("SettingsJavaMemory", "Default memory (MB)", "默认内存(MB)"),
|
||
("SettingsJavaMemoryHint", "Whole megabytes, {min}–{max}. Instances without their own override follow this value.", "整数 MB,范围 {min}~{max}。没有实例级覆盖的实例都用它。"),
|
||
("SettingsJavaLayerGlobal", "In effect: {mb} MB, from the global default.", "生效:{mb} MB,来自全局默认值。"),
|
||
("SettingsJavaLayerInstance", "In effect: {mb} MB, set by instance {instance}. Changing the global value below will not affect that instance.", "生效:{mb} MB,由实例 {instance} 覆盖。改下面的全局值不会影响它。"),
|
||
("SettingsJavaJvm", "Extra JVM arguments", "额外 JVM 参数"),
|
||
("SettingsJavaJvmPlaceholder", "-XX:+UseG1GC -Dfile.encoding=UTF-8", "例:-XX:+UseG1GC -Dfile.encoding=UTF-8"),
|
||
("SettingsJavaJvmHint", "Separated by spaces, quotes allowed. Appended to the command line of every launch; an instance's own JVM arguments come after it.", "按空白分隔,支持引号。会拼到每次启动的命令行上;实例自己的 JVM 参数排在它后面。"),
|
||
("SettingsJavaJvmSaved", "Saved value: {value}", "已保存的值:{value}"),
|
||
("SettingsJavaJvmSavedNone", "No extra JVM arguments are saved yet.", "还没有保存任何额外参数。"),
|
||
("SettingsJavaSave", "Save", "保存"),
|
||
("SettingsJavaSaved", "Saved and read back from disk. The next launch uses the new value.", "已保存,并从磁盘读回确认。下次启动就用新值。"),
|
||
("SettingsJavaUnsaved", "There are unsaved changes.", "有未保存的改动。"),
|
||
("SettingsJavaRefused", "Not saved: {reason}", "未保存:{reason}"),
|
||
("SettingsJavaSkipNotDirty", "there was nothing to change, so no file was written", "没有任何改动,因此没有写文件"),
|
||
("SettingsJavaSkipReadOnly", "the settings file is read-only: a newer launcher wrote it, or it is marked untrusted", "配置文件只读:它被更新版本的启动器写过,或被标记为不可信"),
|
||
("SettingsJavaSkipUnreadable", "the settings file is untrusted, so it is treated as read-only", "配置文件不可信,因此按只读处理"),
|
||
("SettingsJavaNoStorage", "No settings file is available in this run, so nothing can be scanned or saved.", "这一次运行没有可用的设置文件,扫描与保存都做不了。"),
|
||
("SettingsJavaReasonMemoryEmpty", "the memory field is empty", "内存没填"),
|
||
("SettingsJavaReasonMemoryNotNumber", "the memory must be a whole number of MB", "内存必须是整数 MB"),
|
||
("SettingsJavaReasonMemoryRange", "the memory is outside the allowed range", "内存超出允许范围"),
|
||
("SettingsJavaReasonJvmQuotes", "the JVM arguments have an unclosed quote", "JVM 参数里有没配对的引号"),
|
||
("SettingsJavaReasonJvmTooLong", "the JVM arguments are longer than the settings file allows (1024 characters)", "JVM 参数超过配置文件允许的长度(1024 字符)"),
|
||
("SettingsJavaReasonAddEmpty", "the path is empty", "路径是空的"),
|
||
("SettingsJavaReasonAddMissing", "nothing exists at that path", "那个路径上什么都没有"),
|
||
("SettingsJavaReasonAddNotJava", "there is no java executable at that path", "那个路径里没有 java 可执行文件"),
|
||
("SettingsJavaReasonAddNoVersion", "java -version did not answer there, so it is not a usable JDK", "在那里跑不出 java -version,不是一份能用的 JDK"),
|
||
("SettingsJavaReasonAddTooLong", "the path is too long to be a JDK location", "路径太长,不像是一个 JDK 位置"),
|
||
("SettingsJavaReasonAddWriteFailed", "the JDK is fine, but the list file could not be written (disk or permission)", "这份 JDK 没问题,但名单文件写不进去(磁盘或权限)"),
|
||
("SettingsJavaReasonAddDuplicate", "that JDK is already in the list", "这份 JDK 已经在列表里了"),
|
||
("SettingsJavaReasonWriteFailed", "the settings file could not be written (disk full, no permission, or the value was rejected)", "设置写不进去(磁盘满、没权限,或这个值被拒绝)"),
|
||
("SettingsJavaTooNew", "Above the requirement: this instance can only use Java {maximum} or older (the old loader cannot read newer class files)", "高于要求:当前实例只能用 Java {maximum} 及以下(老加载器吃不了新 class 文件)"),
|
||
// M197:Java 分组的「下载一个 JDK」与三个设置键(`catalog/settings/java.rs` 里同一批追加)。
|
||
("SettingsJavaDownloadTitle", "Download a JDK", "下载一个 JDK"),
|
||
("SettingsJavaDownloadHint", "Downloads go through the built-in mirror table: in China the campus mirrors are tried first (Temurin over Tsinghua TUNA), and GitHub-hosted archives are fetched through gh-proxy. Every archive is verified against its SHA-256 before it is unpacked.", "下载走内置镜像表:国内先试院校镜像(Temurin 走清华 TUNA),GitHub 上的归档套 gh-proxy。落盘前一律按 SHA-256 校验。"),
|
||
("SettingsJavaDownloadLts", "LTS", "长期支持版(LTS)"),
|
||
("SettingsJavaDownloadBaseline", "Recommended baseline", "推荐基准版本"),
|
||
("SettingsJavaDownloadVendors", "Vendors: {vendors}", "发行版:{vendors}"),
|
||
("SettingsJavaDownloadNoVendor", "No vendor publishes this major version on this platform.", "这个平台上没有发行版发这个大版本。"),
|
||
("SettingsJavaDownloadAction", "Install", "安装"),
|
||
("SettingsJavaDownloadReinstall", "Install again", "重装"),
|
||
("SettingsJavaDownloadInstalled", "Already installed: {path}", "已安装:{path}"),
|
||
("SettingsJavaDownloadNeeded", "The current instance needs {requirement}.", "当前实例需要 {requirement}。"),
|
||
("SettingsJavaDownloadFits", "Usable by the current instance", "当前实例可用"),
|
||
("SettingsJavaDownloadTooLow", "The current instance needs Java {minimum} or newer, so installing this one will not start it.", "当前实例需要 Java {minimum} 及以上 —— 装这一档也起不来。"),
|
||
("SettingsJavaDownloadTooHigh", "The current instance can only use Java {maximum} or older, so installing this one will not start it.", "当前实例只能用 Java {maximum} 及以下 —— 装这一档也起不来。"),
|
||
("SettingsJavaDownloadRecommended", "Recommended for the current instance", "为当前实例推荐这一档"),
|
||
("SettingsJavaDownloadBusy", "Installing Java {major}…", "正在安装 Java {major}…"),
|
||
("SettingsJavaDownloadPhasePreparing", "Looking up the release…", "正在查版本…"),
|
||
("SettingsJavaDownloadPhaseDownloading", "Downloading {percent}% ({done} of {total})", "下载中 {percent}%({done} / {total})"),
|
||
("SettingsJavaDownloadPhaseVerifying", "Verifying the archive…", "正在校验归档…"),
|
||
("SettingsJavaDownloadPhaseExtracting", "Unpacking…", "正在解压…"),
|
||
("SettingsJavaDownloadSource", "Source: {source}", "来源:{source}"),
|
||
("SettingsJavaDownloadRetry", "{source} failed ({reason}); retry {attempt} in {seconds}s", "{source} 失败({reason});{seconds} 秒后重试第 {attempt} 次"),
|
||
("SettingsJavaDownloadSwitch", "Switching source: {from} → {to}", "换源:{from} → {to}"),
|
||
("SettingsJavaDownloadDone", "Java {major} ({vendor}) is ready at {root} · source {source}", "Java {major}({vendor})已就绪:{root} · 来源 {source}"),
|
||
("SettingsJavaDownloadDoneReused", "Java {major} ({vendor}) was already installed at {root}; nothing was downloaded.", "Java {major}({vendor})之前已经装好:{root},这一次没有下载。"),
|
||
("SettingsJavaDownloadFailed", "Java {major} could not be installed; the last source tried was {source}. The full reason is in the log.", "Java {major} 没装成;最后试到的源是 {source}。完整原因在日志里。"),
|
||
("SettingsJavaDownloadFailedNoSource", "Java {major} could not be installed: the version lookup itself failed. The full reason is in the log.", "Java {major} 没装成:查版本这一步就失败了。完整原因在日志里。"),
|
||
("SettingsJavaDownloadFailedHint", "Check the network, or change the vendor order below.", "先查网络,或者改下面的发行版顺序。"),
|
||
("SettingsJavaDownloadTriedHeader", "Sources tried:", "试过的源:"),
|
||
("SettingsJavaDownloadTried", "{source}: {reason}", "{source}:{reason}"),
|
||
("SettingsJavaDownloadRefused", "Not started: {reason}", "没开始:{reason}"),
|
||
("SettingsJavaReasonDownloadBusy", "another JDK install is already running", "已经有一个 JDK 在装了"),
|
||
("SettingsJavaReasonDownloadUnknownMajor", "that major version is not in the catalog", "目录里没有这个大版本"),
|
||
("SettingsJavaReasonDownloadNoVendor", "no vendor publishes that major version here", "没有发行版在这里发这个大版本"),
|
||
("SettingsJavaReasonRootUnresolved", "the JDK install folder cannot be resolved on this system", "这台机器上解析不出 JDK 安装目录"),
|
||
("SettingsJavaSourceReasonNotFound", "this mirror does not have that file (404)", "这个镜像没有这个文件(404)"),
|
||
("SettingsJavaSourceReasonServer", "the server answered with a 5xx / 429 error", "服务器报错 5xx / 429"),
|
||
("SettingsJavaSourceReasonTimeout", "the request timed out", "请求超时"),
|
||
("SettingsJavaSourceReasonNetwork", "the connection failed", "连不上"),
|
||
("SettingsJavaSourceReasonIntegrity", "the checksum did not match", "校验不符"),
|
||
("SettingsJavaSourceReasonIo", "a local disk error", "本地磁盘错误"),
|
||
("SettingsJavaSourceReasonOther", "the request was rejected", "请求被拒"),
|
||
("SettingsJavaInstallRoot", "JDK install folder", "JDK 安装目录"),
|
||
("SettingsJavaInstallRootPlaceholder", "D:\\Java", "例:D:\\Java"),
|
||
("SettingsJavaInstallRootHint", "Leave it empty to follow the data mode: portable keeps JDKs inside the launcher folder, standard uses the system Java folder. A path here overrides both, and JDKs land in <root>/<vendor>/<version>/.", "留空 = 跟数据目录模式走:portable 放在启动器目录里,standard 放在系统 Java 目录。填了它覆盖前两者,JDK 落在 <root>/<发行方>/<版本>/。"),
|
||
("SettingsJavaInstallRootEffective", "In effect: {mode} · {path}", "生效:{mode} · {path}"),
|
||
("SettingsJavaInstallRootLayerSetting", "this comes from java.installRoot", "这一项来自 java.installRoot"),
|
||
("SettingsJavaInstallRootLayerDataMode", "this comes from core.data_mode ({mode})", "这一项来自 core.data_mode({mode})"),
|
||
("SettingsJavaInstallRootUnresolved", "The system Java folder cannot be resolved here. Type a folder above, or set core.data_mode back to portable.", "这台机器上解析不出系统标准 Java 目录。在上面填一个目录,或把 core.data_mode 改回 portable。"),
|
||
("SettingsJavaVendorPriority", "Vendor order", "发行版顺序"),
|
||
("SettingsJavaVendorOrderEffective", "In effect: {order}", "生效顺序:{order}"),
|
||
("SettingsJavaVendorOrderLayerSetting", "this comes from java.vendorPriority", "这一项来自 java.vendorPriority"),
|
||
("SettingsJavaVendorOrderLayerRegion", "this comes from the built-in order for your region ({region})", "这一项来自内置的地区默认序({region})"),
|
||
("SettingsJavaRegionDomestic", "China", "国内"),
|
||
("SettingsJavaRegionGlobal", "rest of the world", "国外"),
|
||
("SettingsJavaVendorUp", "Up", "上移"),
|
||
("SettingsJavaVendorDown", "Down", "下移"),
|
||
("SettingsJavaVendorReset", "Reset to the region default", "恢复地区默认序"),
|
||
("SettingsJavaVendorSupports", "ships {majors}", "发 {majors}"),
|
||
("SettingsJavaAutoInstall", "Recommend a JDK when none is found", "缺 JDK 时推荐一档"),
|
||
("SettingsJavaAutoInstallHint", "On: the catalog below marks the version the current instance needs, and a freshly installed JDK becomes the default when no default is set yet. Nothing is downloaded on its own — you press Install. Off: nothing is marked and you pick everything yourself.", "开:下面的目录会按当前实例的要求标出该装哪一档,装完之后若还没有默认 JDK 就自动设为默认。不会自己开始下载 —— 点「安装」才会下。关:什么也不标,全部自己挑。"),
|
||
("SettingsJavaAutoInstallOn", "on", "开"),
|
||
("SettingsJavaAutoInstallOff", "off", "关"),
|
||
("SettingsJavaPrefsSave", "Save", "保存"),
|
||
("SettingsJavaPrefsSaved", "Saved and read back from disk: all three keys are in the settings file.", "已保存并从磁盘读回:三个键都进配置文件了。"),
|
||
("SettingsJavaPrefsUnsaved", "There are unsaved changes in this section.", "这一段有未保存的改动。"),
|
||
("SettingsJavaReasonInstallRootTooLong", "the folder path is too long", "目录路径太长"),
|
||
];
|