diff --git a/buildSrc/src/main/java/org/jackhuang/hmcl/gradle/l10n/CreateLocaleNames.java b/buildSrc/src/main/java/org/jackhuang/hmcl/gradle/l10n/CreateLocaleNames.java index a80c4aae8..fa48c42ce 100644 --- a/buildSrc/src/main/java/org/jackhuang/hmcl/gradle/l10n/CreateLocaleNames.java +++ b/buildSrc/src/main/java/org/jackhuang/hmcl/gradle/l10n/CreateLocaleNames.java @@ -91,6 +91,8 @@ public abstract class CreateLocaleNames extends DefaultTask { .toList(); } + UpsideDownTranslate.Translator upsideDownTranslator = new UpsideDownTranslate.Translator(); + SortedSet languages = supportedLanguages.stream() .map(Locale::getLanguage) .filter(it -> !it.isBlank()) @@ -149,6 +151,10 @@ public abstract class CreateLocaleNames extends DefaultTask { if (displayName.equals(language)) continue; // Skip + + if (currentLanguage.equals(UpsideDownTranslate.EN_QABS)) { + displayName = upsideDownTranslator.translate(displayName); + } } writer.write(language + "=" + displayName + "\n"); @@ -166,6 +172,10 @@ public abstract class CreateLocaleNames extends DefaultTask { if (displayName.equals(script)) continue; // Skip + + if (currentLanguage.equals(UpsideDownTranslate.EN_QABS)) { + displayName = upsideDownTranslator.translate(displayName); + } } writer.write(script + "=" + displayName + "\n"); 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 293ed002d..5b7bb1e14 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 @@ -27,6 +27,7 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.LinkedHashMap; +import java.util.Locale; import java.util.Map; import java.util.Properties; import java.util.regex.Matcher; @@ -35,6 +36,8 @@ import java.util.regex.Pattern; /// @author Glavo public abstract class UpsideDownTranslate extends DefaultTask { + static final Locale EN_QABS = Locale.forLanguageTag("en-Qabs"); + private static final Map PROPERTIES = Map.of( "datetime.format", "MMM d, yyyy, h:mm:ss a" ); @@ -71,7 +74,7 @@ public abstract class UpsideDownTranslate extends DefaultTask { } } - private static final class Translator { + static final class Translator { private static final Map MAPPER = new LinkedHashMap<>(); private static void putChars(char baseChar, String upsideDownChars) {