mirror of
https://github.com/HMCL-dev/HMCL.git
synced 2025-01-06 14:04:32 +08:00
检测到多个原因时提示 (#2293)
This commit is contained in:
parent
95b85c13eb
commit
9549819571
@ -151,11 +151,18 @@ public class GameCrashWindow extends Stage {
|
||||
Set<String> keywords = pair.getValue();
|
||||
|
||||
List<Node> segments = new ArrayList<>();
|
||||
|
||||
boolean hasMultipleRules = results.stream().map(CrashReportAnalyzer.Result::getRule).distinct().count() > 1;
|
||||
if (hasMultipleRules) {
|
||||
segments.addAll(FXUtils.parseSegment(i18n("game.crash.reason.multiple"), Controllers::onHyperlinkAction));
|
||||
}
|
||||
|
||||
for (CrashReportAnalyzer.Result result : results) {
|
||||
switch (result.getRule()) {
|
||||
case TOO_OLD_JAVA:
|
||||
segments.addAll(FXUtils.parseSegment(i18n("game.crash.reason.too_old_java",
|
||||
CrashReportAnalyzer.getJavaVersionFromMajorVersion(Integer.parseInt(result.getMatcher().group("expected")))), Controllers::onHyperlinkAction));
|
||||
segments.add(new Text("\n"));
|
||||
break;
|
||||
case MOD_RESOLUTION_CONFLICT:
|
||||
case MOD_RESOLUTION_MISSING:
|
||||
@ -164,19 +171,23 @@ public class GameCrashWindow extends Stage {
|
||||
translateFabricModId(result.getMatcher().group("sourcemod")),
|
||||
parseFabricModId(result.getMatcher().group("destmod")),
|
||||
parseFabricModId(result.getMatcher().group("destmod"))), Controllers::onHyperlinkAction));
|
||||
segments.add(new Text("\n"));
|
||||
break;
|
||||
case MOD_RESOLUTION_MISSING_MINECRAFT:
|
||||
segments.addAll(FXUtils.parseSegment(i18n("game.crash.reason." + result.getRule().name().toLowerCase(Locale.ROOT),
|
||||
translateFabricModId(result.getMatcher().group("mod")),
|
||||
result.getMatcher().group("version")), Controllers::onHyperlinkAction));
|
||||
segments.add(new Text("\n"));
|
||||
break;
|
||||
case TWILIGHT_FOREST_OPTIFINE:
|
||||
segments.addAll(FXUtils.parseSegment(i18n("game.crash.reason.mod", "OptiFine"), Controllers::onHyperlinkAction));
|
||||
segments.add(new Text("\n"));
|
||||
break;
|
||||
default:
|
||||
segments.addAll(FXUtils.parseSegment(i18n("game.crash.reason." + result.getRule().name().toLowerCase(Locale.ROOT),
|
||||
Arrays.stream(result.getRule().getGroupNames()).map(groupName -> result.getMatcher().group(groupName))
|
||||
.toArray()), Controllers::onHyperlinkAction));
|
||||
segments.add(new Text("\n"));
|
||||
break;
|
||||
}
|
||||
segments.add(new Text("\n"));
|
||||
|
@ -407,6 +407,7 @@ game.crash.feedback=Is it a common issue that almost everyone has had? Please le
|
||||
game.crash.info=Crash Info
|
||||
game.crash.reason=Crash Cause
|
||||
game.crash.reason.analyzing=Analyzing...
|
||||
game.crash.reason.multiple=Multiple reasons detected:\n\n
|
||||
game.crash.reason.block=The game crashed due to a block.\n\
|
||||
\n\
|
||||
You can try to remove this block using MCEdit or delete that mod that added it.\n\
|
||||
|
@ -365,6 +365,7 @@ game.crash.feedback=¿Es un problema común que casi todo el mundo ha tenido? Po
|
||||
game.crash.info=Información sobre el fallo
|
||||
game.crash.reason=Causa del fallo
|
||||
game.crash.reason.analyzing=Analizando...
|
||||
game.crash.reason.multiple=Se detectaron múltiples razones:\n\n
|
||||
game.crash.reason.block=El juego se ha bloqueado debido a un error.\
|
||||
\n\
|
||||
Puede tratar de eliminar este bloque utilizando MCEdit o eliminar el mod que lo ha añadido.\n\
|
||||
|
@ -334,6 +334,7 @@ game.crash.feedback=問題は非常に一般的ですが、理由がわかりま
|
||||
game.crash.info=ゲームステータス
|
||||
game.crash.reason=クラッシュアナライザー
|
||||
game.crash.reason.analyzing=分析中..
|
||||
game.crash.reason.multiple=複数の理由が検出されました:\n\n
|
||||
game.crash.reason.block=ブロックが原因でゲームを実行できません。\nMCEditでこのブロックを削除するか、関連するModを直接削除できます。\nブロックタイプ:%1$s \nブロックの場所:%2$s
|
||||
game.crash.reason.bootstrap_failed=mod %1$s がクラッシュしたため、ゲームを実行できません。\n削除または更新を試みることができます。
|
||||
game.crash.reason.config=modが構成ファイルを解析できないため、ゲームを実行できません。\nMod %1$s は構成ファイル %2$s を解析できません。
|
||||
|
@ -336,6 +336,7 @@ game.crash.feedback=Проблема настолько распростране
|
||||
game.crash.info=Статус игры
|
||||
game.crash.reason=Анализатор сбоев
|
||||
game.crash.reason.analyzing=Анализирование...
|
||||
game.crash.reason.multiple=Обнаружено несколько причин:\n\n
|
||||
game.crash.reason.block=Невозможно запустить игру из-за блока.\nУдалите этот блок с помощью MCEdit или удалите мод связанный с ним напрямую.\nТип блока: %1$s\nРасположение блока: %2$s
|
||||
game.crash.reason.bootstrap_failed=Невозможно запустить игру из-за сбоя мода %1$s.\nПопробуйте удалить или обновить его.
|
||||
game.crash.reason.config=Невозможно запустить игру из-за того, что мод не может разобрать файл конфигурации.\nМод %1$s не может разобрать свой файл конфигурации %2$s.
|
||||
|
@ -392,6 +392,7 @@ game.crash.feedback=查看了日誌發現問題很常見?歡迎在 <a href="ht
|
||||
game.crash.info=遊戲訊息
|
||||
game.crash.reason=崩潰原因
|
||||
game.crash.reason.analyzing=分析中...
|
||||
game.crash.reason.multiple=檢測到多個原因:\n\n
|
||||
game.crash.reason.block=當前遊戲因為某個方塊不能正常工作,無法繼續運行。\n你可以嘗試通過 MCEdit 工具編輯存檔刪除該方塊,或者直接刪除相應的 Mod。\n方塊類型:%1$s\n方塊坐標:%2$s
|
||||
game.crash.reason.bootstrap_failed=當前遊戲因為模組 %1$s 錯誤,無法繼續運行。\n你可以嘗試刪除或更新該模組以解決問題。
|
||||
game.crash.reason.config=當前遊戲因為無法解析模組配置文件,無法繼續運行\n模組 %1$s 的配置文件 %2$s 無法被解析。
|
||||
|
@ -393,6 +393,8 @@ game.crash.info=游戏信息
|
||||
game.crash.reason=崩溃原因
|
||||
game.crash.reason.analyzing=分析中……
|
||||
game.crash.reason.block=当前游戏因为某个方块不能正常工作,无法继续运行。\n你可以尝试通过 <a href="https://podshot.github.io/MCEdit-Unified">MCEdit</a> 工具编辑存档删除该方块,或者直接删除相应的 Mod。\n方块类型:%1$s\n方块坐标:%2$s \n你可以在 <a href="https://docs.hmcl.net/help.html ">此处</a> 寻求帮助。
|
||||
game.crash.reason.multiple=检测到多个原因:\n\n
|
||||
game.crash.reason.block=当前游戏因为某个方块不能正常工作,无法继续运行。\n你可以尝试通过 <a href="https://www.mcedit.net">MCEdit</a> 工具编辑存档删除该方块,或者直接删除相应的 Mod。\n方块类型:%1$s\n方块坐标:%2$s \n你可以在 <a href="https://docs.hmcl.net/help.html ">此处</a> 寻求帮助。
|
||||
game.crash.reason.bootstrap_failed=当前游戏因为模组 %1$s 错误,无法继续运行。\n你可以尝试删除或更新该模组以解决问题。\n你可以在 <a href="https://docs.hmcl.net/help.html ">此处</a> 寻求帮助。
|
||||
game.crash.reason.config=当前游戏因为无法解析模组配置文件,无法继续运行\n模组 %1$s 的配置文件 %2$s 无法被解析。\n你可以在 <a href="https://docs.hmcl.net/help.html ">此处</a> 寻求帮助。
|
||||
game.crash.reason.debug_crash=当前游戏因为手动触发崩溃,无法继续运行。\n事实上游戏并没有问题,问题都是你造成的!
|
||||
|
Loading…
Reference in New Issue
Block a user