From 36ebdab6984b1196cb1a13fb8aa45ab0046a4841 Mon Sep 17 00:00:00 2001 From: Wulian233 <1055917385@qq.com> Date: Thu, 3 Apr 2025 23:08:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=98=E5=8F=A0=E9=AB=98=E7=BA=A7=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E4=B8=AD=E5=9F=BA=E4=BA=8E=E7=89=B9=E5=AE=9A=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E4=B8=8D=E5=8F=AF=E7=94=A8=E7=9A=84=E9=80=89=E9=A1=B9?= =?UTF-8?q?=20(#3734)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 隐藏高级设置中基于特定系统不可用的选项 * 不支持的系统使用折叠选项 * 完成~待审 * 修改文本描述 * 修正翻译 * update * update --------- Co-authored-by: Glavo --- .../ui/versions/AdvancedVersionSettingPage.java | 16 +++++++++++++--- .../main/resources/assets/lang/I18N.properties | 1 + .../resources/assets/lang/I18N_es.properties | 1 + .../resources/assets/lang/I18N_ja.properties | 1 + .../resources/assets/lang/I18N_ru.properties | 1 + .../resources/assets/lang/I18N_zh.properties | 1 + .../resources/assets/lang/I18N_zh_CN.properties | 1 + 7 files changed, 19 insertions(+), 3 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/AdvancedVersionSettingPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/AdvancedVersionSettingPage.java index 5963a2963..1acaf3c9b 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/AdvancedVersionSettingPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/AdvancedVersionSettingPage.java @@ -17,6 +17,7 @@ import org.jackhuang.hmcl.setting.VersionSetting; import org.jackhuang.hmcl.ui.FXUtils; import org.jackhuang.hmcl.ui.construct.*; import org.jackhuang.hmcl.ui.decorator.DecoratorPage; +import org.jackhuang.hmcl.util.platform.OperatingSystem; import java.nio.file.Paths; import java.util.Arrays; @@ -197,9 +198,18 @@ public final class AdvancedVersionSettingPage extends StackPane implements Decor useNativeOpenALPane.setTitle(i18n("settings.advanced.use_native_openal")); workaroundPane.getContent().setAll( - nativesDirSublist, rendererPane, - noJVMArgsPane, noGameCheckPane, noJVMCheckPane, noNativesPatchPane, - useNativeGLFWPane, useNativeOpenALPane); + nativesDirSublist, rendererPane, noJVMArgsPane, noGameCheckPane, + noJVMCheckPane, noNativesPatchPane + ); + + if (OperatingSystem.CURRENT_OS.isLinuxOrBSD()) { + workaroundPane.getContent().addAll(useNativeGLFWPane, useNativeOpenALPane); + } else { + ComponentSublist unsupportedOptionsSublist = new ComponentSublist(); + unsupportedOptionsSublist.setTitle(i18n("settings.advanced.unsupported_system_options")); + unsupportedOptionsSublist.getContent().addAll(useNativeGLFWPane, useNativeOpenALPane); + workaroundPane.getContent().add(unsupportedOptionsSublist); + } } rootPane.getChildren().addAll( diff --git a/HMCL/src/main/resources/assets/lang/I18N.properties b/HMCL/src/main/resources/assets/lang/I18N.properties index 71cdc6fd9..4ab68ce93 100644 --- a/HMCL/src/main/resources/assets/lang/I18N.properties +++ b/HMCL/src/main/resources/assets/lang/I18N.properties @@ -1209,6 +1209,7 @@ settings.advanced.renderer.llvmpipe=Software (Poor performance, best compatibili settings.advanced.renderer.zink=Vulkan (Best performance, poor compatibility) settings.advanced.server_ip=Server Address settings.advanced.server_ip.prompt=Automatically join after launching the game +settings.advanced.unsupported_system_options=Settings not applicable to the current system settings.advanced.use_native_glfw=[Linux/FreeBSD Only] Use System GLFW settings.advanced.use_native_openal=[Linux/FreeBSD Only] Use System OpenAL settings.advanced.workaround=Workaround diff --git a/HMCL/src/main/resources/assets/lang/I18N_es.properties b/HMCL/src/main/resources/assets/lang/I18N_es.properties index 4b2d51be8..4c650819f 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_es.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_es.properties @@ -1212,6 +1212,7 @@ settings.advanced.renderer.llvmpipe=Software (Bajo rendimiento, máxima compatib settings.advanced.renderer.zink=Vulkan (Máximo rendimiento, baja compatibilidad) settings.advanced.server_ip=Dirección del servidor settings.advanced.server_ip.prompt=Entrar automáticamente después de ejecutar el juego +settings.advanced.unsupported_system_options=Configuración no aplicable al sistema actual settings.advanced.use_native_glfw=[Sólo Linux/FreeBSD] Utilizar GLFW nativo settings.advanced.use_native_openal=[Sólo Linux/FreeBSD] Utilizar OpenAL nativo settings.advanced.workaround=Métodos alternativos diff --git a/HMCL/src/main/resources/assets/lang/I18N_ja.properties b/HMCL/src/main/resources/assets/lang/I18N_ja.properties index 4f0a9706d..6725e018e 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_ja.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_ja.properties @@ -804,6 +804,7 @@ settings.advanced.post_exit_command=終了後のコマンド settings.advanced.post_exit_command.prompt=ゲーム終了後に実行されます settings.advanced.server_ip=サーバーアドレス settings.advanced.server_ip.prompt=ゲームの起動時にサーバーに参加する +settings.advanced.unsupported_system_options=サポートされていないシステムオプション settings.advanced.use_native_glfw=[Linux/FreeBSDのみ]システムGLFWを使用する settings.advanced.use_native_openal=[Linux/FreeBSDのみ]システムOpenALを使用する settings.advanced.workaround=デバッグ用オプション diff --git a/HMCL/src/main/resources/assets/lang/I18N_ru.properties b/HMCL/src/main/resources/assets/lang/I18N_ru.properties index e375b86f0..76023ec76 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_ru.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_ru.properties @@ -1212,6 +1212,7 @@ settings.advanced.renderer.llvmpipe=ПО (Низкая производител settings.advanced.renderer.zink=Vulkan (Лучшая производительность, низкая совместимость) settings.advanced.server_ip=Адрес сервера settings.advanced.server_ip.prompt=Присоединяться к серверу при запуске игры +settings.advanced.unsupported_system_options=Настройки, не применимые к текущей системе settings.advanced.use_native_glfw=[Только для Linux/FreeBSD] Использовать системный GLFW settings.advanced.use_native_openal=[Только для Linux/FreeBSD] Использовать системный OpenAL settings.advanced.workaround=Обходные пути diff --git a/HMCL/src/main/resources/assets/lang/I18N_zh.properties b/HMCL/src/main/resources/assets/lang/I18N_zh.properties index 4404bc232..13d700438 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_zh.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_zh.properties @@ -1007,6 +1007,7 @@ settings.advanced.renderer.llvmpipe=軟繪製器 (效能較差,相容性最好 settings.advanced.renderer.zink=Vulkan (效能最好,相容性較差) settings.advanced.server_ip=伺服器位址 settings.advanced.server_ip.prompt=預設,啟動遊戲後直接進入對應伺服器 +settings.advanced.unsupported_system_options=不適用於目前系統的選項 settings.advanced.use_native_glfw=[僅限 Linux/FreeBSD] 使用系統 GLFW settings.advanced.use_native_openal=[僅限 Linux/FreeBSD] 使用系統 OpenAL settings.advanced.workaround=除錯選項 diff --git a/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties b/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties index 0bb69fcca..11a64e206 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties @@ -1018,6 +1018,7 @@ settings.advanced.renderer.llvmpipe=软渲染器 (性能较差,兼容性最好 settings.advanced.renderer.zink=Vulkan (性能最好,兼容性较差) settings.advanced.server_ip=服务器地址 settings.advanced.server_ip.prompt=默认,启动游戏后可以直接进入对应服务器 +settings.advanced.unsupported_system_options=不适用于当前系统的选项 settings.advanced.use_native_glfw=[仅 Linux/FreeBSD] 使用系统 GLFW settings.advanced.use_native_openal=[仅 Linux/FreeBSD] 使用系统 OpenAL settings.advanced.workaround=调试选项