This commit is contained in:
Glavo 2025-09-21 16:48:50 +08:00
parent 7992260575
commit 8248e5fe90
3 changed files with 14 additions and 2 deletions

1
.gitignore vendored
View File

@ -2,6 +2,7 @@
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
*.hprof
.gradle

View File

@ -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 {

View File

@ -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) {