Skip to content

Convert all locale files to MiniMessage - #33

Merged
tastybento merged 1 commit into
feature/chunks-map-dialogfrom
chore/minimessage-locales
Aug 14, 2026
Merged

Convert all locale files to MiniMessage#33
tastybento merged 1 commit into
feature/chunks-map-dialogfrom
chore/minimessage-locales

Conversation

@tastybento

Copy link
Copy Markdown
Member

Follows the formatting bug found while reviewing the chunks dialog: with locale text moving to MiniMessage, files left in legacy &-codes are what make those bugs possible, because any code that builds a fragment for a translation has to guess which format the target line is in.

All 18 locale files are now MiniMessage.

How

Converted with BentoBox's own Util.legacyToMiniMessage, so each value now literally says what the runtime was already rendering — no hand translation of colour codes. Then tidied: a straight conversion closes and immediately reopens a tag wherever the old text repeated a colour code (every line of a multi-line flag description, every run split by a placeholder), so </aqua><aqua> seams are closed up.

# before
      description: |-
        &b Rank that can break the magic
        &b block if they can break blocks.

# after
      description: |-
        <aqua>Rank that can break the magic
        block if they can break blocks.</aqua>

Verification

  • Every one of the 1582 values rendered before and after and compared per character, with the style each character ends up with. Nothing moved. (Comparing component trees was too strict — the tidy pass can nest <bold> inside <green> instead of the reverse, which is the same thing to a player.)
  • Placeholder checker reports the same 47 pre-existing issues across the translations as before, none new.
  • Comments, quoting style, and the boolean-trap keys ("on" / "off", wrap-at: '50') all survive the round trip — those quotes matter, unquoted on: would load as a boolean key.
  • Full test suite green.

Left alone deliberately

Ten values in vi, tr, it, es, fr, uk and ja contain a broken colour code — & c, & l, &un bloc — that never rendered as colour. They still render as literal text, exactly as today. Fixing them would change what players see, so that is a translator's call, not this PR's.

Base

Stacked on feature/chunks-map-dialog (#32) since both touch the locale files; GitHub will retarget this to develop when that merges.

🤖 Generated with Claude Code

https://claude.ai/code/session_017EZEwab2kL4i1FNnBYvSmp

BentoBox text is MiniMessage now; the &-codes still parse, but leaving
the files in the old format is what makes formatting bugs possible —
anything that has to build a fragment and put it into a translation has
to guess which format the line is in.

Converted with BentoBox's own Util.legacyToMiniMessage, so each value
now says exactly what the runtime was already rendering, then tidied up:
a straight conversion closes and immediately reopens a tag wherever the
old text repeated a colour code, which is every line of a multi-line
description.

Verified by rendering all 1582 values before and after and comparing the
style of every character: no value moved. Placeholder checks report the
same 47 pre-existing issues as before, none new.

Ten values across vi, tr, it, es, fr, uk and ja were left alone: they
contain a broken colour code ("& c", "&un", "& l") that never rendered
as colour and still doesn't. Worth a translator's eye, separately.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017EZEwab2kL4i1FNnBYvSmp
@sonarqubecloud

Copy link
Copy Markdown

@tastybento
tastybento merged commit 5d987ac into feature/chunks-map-dialog Aug 14, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant