This commit is contained in:
Glavo 2025-09-21 17:35:04 +08:00
parent d6f9980d7d
commit 4d6864a8b3
3 changed files with 18 additions and 3 deletions

View File

@ -217,8 +217,13 @@ public final class Locales {
public String formatDateTime(TemporalAccessor time) { public String formatDateTime(TemporalAccessor time) {
DateTimeFormatter formatter = dateTimeFormatter; DateTimeFormatter formatter = dateTimeFormatter;
if (formatter == null) { if (formatter == null) {
if (locale.getLanguage().equals("lzh")) if (LocaleUtils.isEnglish(locale) && "Qabs".equals(locale.getScript())) {
return UpsideDownUtils.formatDateTime(time);
}
if (locale.getLanguage().equals("lzh")) {
return WenyanUtils.formatDateTime(time); return WenyanUtils.formatDateTime(time);
}
formatter = dateTimeFormatter = DateTimeFormatter.ofPattern(getResourceBundle().getString("datetime.format")) formatter = dateTimeFormatter = DateTimeFormatter.ofPattern(getResourceBundle().getString("datetime.format"))
.withZone(ZoneId.systemDefault()); .withZone(ZoneId.systemDefault());

View File

@ -17,6 +17,9 @@
*/ */
package org.jackhuang.hmcl.util.i18n; package org.jackhuang.hmcl.util.i18n;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAccessor;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
@ -41,7 +44,7 @@ public final class UpsideDownUtils {
} }
static { static {
putChars('a', "ɐqɔpǝɟbɥıظʞןɯuuodbɹsʇnʌʍxʎz"); putChars('a', "ɐqɔpǝɟbɥıظʞןɯuodbɹsʇnʌʍxʎz");
putChars('A', "ⱯᗺƆᗡƎℲ⅁HIſʞꞀWNOԀὉᴚS⟘∩ΛMXʎZ"); putChars('A', "ⱯᗺƆᗡƎℲ⅁HIſʞꞀWNOԀὉᴚS⟘∩ΛMXʎZ");
putChars('0', "0ƖᘔƐ߈ϛ9ㄥ86"); putChars('0', "0ƖᘔƐ߈ϛ9ㄥ86");
putChars("_,;.?!/\\'", "‾'؛˙¿¡/\\,"); putChars("_,;.?!/\\'", "‾'؛˙¿¡/\\,");
@ -53,6 +56,13 @@ public final class UpsideDownUtils {
return builder.reverse().toString(); return builder.reverse().toString();
} }
private static DateTimeFormatter BASE_FORMATTER = DateTimeFormatter.ofPattern("MMM d, yyyy, h:mm:ss a")
.withZone(ZoneId.systemDefault());
public static String formatDateTime(TemporalAccessor time) {
return translate(BASE_FORMATTER.format(time));
}
private UpsideDownUtils() { private UpsideDownUtils() {
} }
} }

View File

@ -91,7 +91,7 @@ public abstract class UpsideDownTranslate extends DefaultTask {
} }
static { static {
putChars('a', "ɐqɔpǝɟbɥıظʞןɯuuodbɹsʇnʌʍxʎz"); putChars('a', "ɐqɔpǝɟbɥıظʞןɯuodbɹsʇnʌʍxʎz");
putChars('A', "ⱯᗺƆᗡƎℲ⅁HIſʞꞀWNOԀὉᴚS⟘∩ΛMXʎZ"); putChars('A', "ⱯᗺƆᗡƎℲ⅁HIſʞꞀWNOԀὉᴚS⟘∩ΛMXʎZ");
putChars('0', "0ƖᘔƐ߈ϛ9ㄥ86"); putChars('0', "0ƖᘔƐ߈ϛ9ㄥ86");
putChars("_,;.?!/\\'", "‾'؛˙¿¡/\\,"); putChars("_,;.?!/\\'", "‾'؛˙¿¡/\\,");