mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-05 06:32:17 -07:00
Revert "fix: Don't hardcode checks for translation registries (#12571)"
This reverts commit f303a076bc
.
This commit is contained in:
@@ -35,6 +35,8 @@ import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
|
|||||||
import net.kyori.adventure.text.serializer.plain.PlainComponentSerializer;
|
import net.kyori.adventure.text.serializer.plain.PlainComponentSerializer;
|
||||||
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
|
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
|
||||||
import net.kyori.adventure.translation.GlobalTranslator;
|
import net.kyori.adventure.translation.GlobalTranslator;
|
||||||
|
import net.kyori.adventure.translation.TranslationRegistry;
|
||||||
|
import net.kyori.adventure.translation.Translator;
|
||||||
import net.kyori.adventure.util.Codec;
|
import net.kyori.adventure.util.Codec;
|
||||||
import net.minecraft.ChatFormatting;
|
import net.minecraft.ChatFormatting;
|
||||||
import net.minecraft.commands.CommandSourceStack;
|
import net.minecraft.commands.CommandSourceStack;
|
||||||
@@ -77,15 +79,16 @@ public final class PaperAdventure {
|
|||||||
private static final Pattern LOCALIZATION_PATTERN = Pattern.compile("%(?:(\\d+)\\$)?s");
|
private static final Pattern LOCALIZATION_PATTERN = Pattern.compile("%(?:(\\d+)\\$)?s");
|
||||||
public static final ComponentFlattener FLATTENER = ComponentFlattener.basic().toBuilder()
|
public static final ComponentFlattener FLATTENER = ComponentFlattener.basic().toBuilder()
|
||||||
.complexMapper(TranslatableComponent.class, (translatable, consumer) -> {
|
.complexMapper(TranslatableComponent.class, (translatable, consumer) -> {
|
||||||
final Language language = Language.getInstance();
|
if (!Language.getInstance().has(translatable.key())) {
|
||||||
final @Nullable String fallback = translatable.fallback();
|
for (final Translator source : GlobalTranslator.translator().sources()) {
|
||||||
if (!language.has(translatable.key()) && (fallback == null || !language.has(fallback))) {
|
if (source instanceof TranslationRegistry registry && registry.contains(translatable.key())) {
|
||||||
if (GlobalTranslator.translator().canTranslate(translatable.key(), Locale.US)) {
|
|
||||||
consumer.accept(GlobalTranslator.render(translatable, Locale.US));
|
consumer.accept(GlobalTranslator.render(translatable, Locale.US));
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final @NotNull String translated = language.getOrDefault(translatable.key(), fallback != null ? fallback : translatable.key());
|
}
|
||||||
|
}
|
||||||
|
final @Nullable String fallback = translatable.fallback();
|
||||||
|
final @NotNull String translated = Language.getInstance().getOrDefault(translatable.key(), fallback != null ? fallback : translatable.key());
|
||||||
|
|
||||||
final Matcher matcher = LOCALIZATION_PATTERN.matcher(translated);
|
final Matcher matcher = LOCALIZATION_PATTERN.matcher(translated);
|
||||||
final List<TranslationArgument> args = translatable.arguments();
|
final List<TranslationArgument> args = translatable.arguments();
|
||||||
|
Reference in New Issue
Block a user