From 8248e5fe909038fbea98e27612c82c2995ebd9ec Mon Sep 17 00:00:00 2001 From: Glavo Date: Sun, 21 Sep 2025 16:48:50 +0800 Subject: [PATCH] update --- .gitignore | 1 + HMCL/build.gradle.kts | 11 +++++++++++ .../hmcl/gradle/l10n/UpsideDownTranslate.java | 4 ++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b5fe10e98..8880c9572 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* +*.hprof .gradle diff --git a/HMCL/build.gradle.kts b/HMCL/build.gradle.kts index 9d4e54f07..f35b7c899 100644 --- a/HMCL/build.gradle.kts +++ b/HMCL/build.gradle.kts @@ -1,4 +1,5 @@ import org.jackhuang.hmcl.gradle.l10n.CheckTranslations +import org.jackhuang.hmcl.gradle.l10n.UpsideDownTranslate import org.jackhuang.hmcl.gradle.mod.ParseModDataTask import java.net.URI import java.nio.file.FileSystems @@ -204,13 +205,23 @@ tasks.shadowJar { } } +val upsideDownTranslate by tasks.registering(UpsideDownTranslate::class) { + inputFile.set(layout.projectDirectory.file("src/main/resources/assets/lang/I18N.properties")) + outputFile.set(layout.buildDirectory.file("generated/i18n/I18N_en_Qabs.properties")) +} + tasks.processResources { dependsOn(createPropertiesFile) + dependsOn(upsideDownTranslate) into("assets/") { from(hmclPropertiesFile) from(embedResources) } + + into("assets/lang") { + from(upsideDownTranslate.map { it.outputFile }) + } } val makeExecutables by tasks.registering { diff --git a/buildSrc/src/main/java/org/jackhuang/hmcl/gradle/l10n/UpsideDownTranslate.java b/buildSrc/src/main/java/org/jackhuang/hmcl/gradle/l10n/UpsideDownTranslate.java index ecfd698c4..7f09394cb 100644 --- a/buildSrc/src/main/java/org/jackhuang/hmcl/gradle/l10n/UpsideDownTranslate.java +++ b/buildSrc/src/main/java/org/jackhuang/hmcl/gradle/l10n/UpsideDownTranslate.java @@ -55,6 +55,7 @@ public abstract class UpsideDownTranslate extends DefaultTask { Translator translator = new Translator(); english.forEach((k, v) -> output.put(k, translator.translate(v.toString()))); + Files.createDirectories(outputFile.getParent()); try (var writer = Files.newBufferedWriter(outputFile)) { output.store(writer, "This file is automatically generated, please do not modify it manually"); } @@ -139,10 +140,9 @@ public abstract class UpsideDownTranslate extends DefaultTask { for (int i = 0; i < input.length(); ) { int idx = input.indexOf('\n'); - String line = input.substring(0, idx < 0 ? input.length() : idx); this.lineBuilder.setLength(0); - appendToLineBuilder(line); + appendToLineBuilder(input.substring(0, idx < 0 ? input.length() : idx)); resultBuilder.append(lineBuilder); if (idx < 0) {