diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ResourcePackDownloadListPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ResourcePackDownloadListPage.java index 85e742b2f..f1d255719 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ResourcePackDownloadListPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ResourcePackDownloadListPage.java @@ -21,7 +21,12 @@ import org.jackhuang.hmcl.game.LocalizedRemoteModRepository; import org.jackhuang.hmcl.mod.RemoteModRepository; import org.jackhuang.hmcl.mod.curse.CurseForgeRemoteModRepository; import org.jackhuang.hmcl.mod.modrinth.ModrinthRemoteModRepository; +import org.jackhuang.hmcl.util.i18n.I18n; +import java.util.MissingResourceException; +import java.util.logging.Level; + +import static org.jackhuang.hmcl.util.Logging.LOG; import static org.jackhuang.hmcl.util.i18n.I18n.i18n; public class ResourcePackDownloadListPage extends DownloadListPage { @@ -66,10 +71,18 @@ public class ResourcePackDownloadListPage extends DownloadListPage { @Override protected String getLocalizedCategory(String category) { + String key; if ("mods.modrinth".equals(downloadSource.get())) { - return i18n("modrinth.category." + category, category); + key = "modrinth.category." + category; } else { - return i18n("curse.category." + category, category); + key = "curse.category." + category; + } + + try { + return I18n.getResourceBundle().getString(key); + } catch (MissingResourceException e) { + LOG.log(Level.WARNING, "Cannot find key " + key + " in resource bundle", e); + return category; } } diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/util/i18n/I18n.java b/HMCL/src/main/java/org/jackhuang/hmcl/util/i18n/I18n.java index bd75f257b..638c28e24 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/util/i18n/I18n.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/util/i18n/I18n.java @@ -60,15 +60,11 @@ public final class I18n { } public static String i18n(String key) { - return i18n(key, key); - } - - public static String i18n(String key, String defaultValue) { try { return getResourceBundle().getString(key); } catch (MissingResourceException e) { LOG.log(Level.SEVERE, "Cannot find key " + key + " in resource bundle", e); - return defaultValue; + return key; } } diff --git a/HMCL/src/main/resources/assets/lang/I18N_zh.properties b/HMCL/src/main/resources/assets/lang/I18N_zh.properties index d77e94c89..2136a1584 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_zh.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_zh.properties @@ -511,7 +511,7 @@ install.installer.forge=Forge install.installer.neoforge=NeoForge install.installer.game=Minecraft install.installer.incompatible=與 %s 不相容 -install.installer.install=安裝%s +install.installer.install=安裝 %s install.installer.install_offline=從本機檔案安裝或升級 install.installer.install_offline.extension=Forge/OptiFine 安裝器 install.installer.install_offline.tooltip=支援匯入已經下載好的 Forge/OptiFine 安裝器