PaperMC / PaperMC/Paper

Server links with translatable components are not rendered

Open
#11,194 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

status: accepted type: bug version: 1.21 version: 1.21.11
Dominant language
Java
Stars
12.7k
Forks
3.5k
Avg merge
3d 13h
Merged PRs (30d)
11

Description

Expected behavior

When a plugin adds a server link with a TranslatableComponent as its display name, the component is rendered using GlobalTranslator, just like any other component serialized to the network

Observed/Actual behavior

When a plugin adds a server link with a TranslatableComponent as its display name, the component is not rendered using GlobalTranslator, unlike any other component serialized to the network

Steps/models to reproduce
  1. Follow Paper's i18n guide: load translations for the custom server link, e.g. example-plugin.server-links.bug-report
  2. Add a link: Bukkit.getServerLinks().addLink(Component.translatable("example-plugin.server-links.bug-report"), URI.create("https://github.com/PaperMC/Paper/issues"))
  3. Build and upload the plugin to the server
  4. Join the server and open the server links menu on the client
  5. The link's display name is not rendered and appears as just the translation key
Plugin and Datapack List

None, only the test plugin from "Steps/models to reproduce"

Paper version
> version
[22:16:06 INFO]: Checking version, please wait...
[22:16:06 INFO]: This server is running Paper version 1.21-119-master@100d75a (2024-07-29T16:00:13Z) (Implementing API version 1.21-R0.1-SNAPSHOT)
You are running the latest version
Other

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the Bukkit.getServerLinks().addLink entry point and trace how its display name is serialized for the client. Compare this path with other components handled by GlobalTranslator, then reproduce the issue with the resource-bundle translation steps; done means the server-links menu displays the translated name rather than the translation key.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, internationalization
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.