mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-19 14:59:32 +00:00
66 lines
3.1 KiB
Diff
66 lines
3.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
|
Date: Tue, 4 Feb 2025 20:01:19 +0800
|
|
Subject: [PATCH] Leaves I18n
|
|
|
|
|
|
diff --git a/net/minecraft/locale/Language.java b/net/minecraft/locale/Language.java
|
|
index 7b9e2a1a208b46a69c16e6afd8b502259893574f..aa0db0cbbcfa079c43dbed6679abf99979e0abf0 100644
|
|
--- a/net/minecraft/locale/Language.java
|
|
+++ b/net/minecraft/locale/Language.java
|
|
@@ -31,6 +31,42 @@ public abstract class Language {
|
|
public static final String DEFAULT = "en_us";
|
|
private static volatile Language instance = loadDefault();
|
|
|
|
+ // Leaves start - i18n
|
|
+ public static void loadI18N(String lang) {
|
|
+ DeprecatedTranslationsInfo deprecatedTranslationsInfo = DeprecatedTranslationsInfo.loadFromDefaultResource();
|
|
+ Map<String, String> map = new HashMap<>();
|
|
+ BiConsumer<String, String> biConsumer = map::put;
|
|
+ parseTranslations(biConsumer, "/assets/minecraft/lang/" + lang + ".json");
|
|
+ deprecatedTranslationsInfo.applyToMap(map);
|
|
+ final Map<String, String> map2 = Map.copyOf(map);
|
|
+ Language language = new Language() {
|
|
+ @Override
|
|
+ public String getOrDefault(String key, String fallback) {
|
|
+ return map2.getOrDefault(key, fallback);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean has(String key) {
|
|
+ return map2.containsKey(key);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean isDefaultRightToLeft() {
|
|
+ return false;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public FormattedCharSequence getVisualOrder(FormattedText text) {
|
|
+ return visitor -> text.visit(
|
|
+ (style, string) -> StringDecomposer.iterateFormatted(string, style, visitor) ? Optional.empty() : FormattedText.STOP_ITERATION,
|
|
+ Style.EMPTY
|
|
+ ).isPresent();
|
|
+ }
|
|
+ };
|
|
+ inject(language);
|
|
+ }
|
|
+ // Leaves end - i18n
|
|
+
|
|
private static Language loadDefault() {
|
|
DeprecatedTranslationsInfo deprecatedTranslationsInfo = DeprecatedTranslationsInfo.loadFromDefaultResource();
|
|
Map<String, String> map = new HashMap<>();
|
|
diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java
|
|
index e4946438d0c1fb9d2be616cb95768f890b32f286..8ed391f61b0eb50d26ce8250c652433e896d5ae4 100644
|
|
--- a/net/minecraft/server/dedicated/DedicatedServer.java
|
|
+++ b/net/minecraft/server/dedicated/DedicatedServer.java
|
|
@@ -186,6 +186,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
|
com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // Paper - load version history now
|
|
|
|
org.leavesmc.leaves.LeavesConfig.init((java.io.File) options.valueOf("leaves-settings")); // Leaves - Server Config
|
|
+ net.minecraft.locale.Language.loadI18N(org.leavesmc.leaves.LeavesConfig.mics.serverLang); // Leaves - i18n
|
|
|
|
com.destroystokyo.paper.Metrics.PaperMetrics.startMetrics(); // Paper - start metrics // Leaves - down
|
|
|