Bug description
Several defects in the bundled messages_zh.yml and messages_nl.yml files make parts of the shop UI render with English fallback text (or empty), and log a startup warning.
- Duplicate
shop.common keys — both files define shop: twice; SnakeYAML (Bukkit's default) keeps only the last block, so the first 8 keys (buy-line, sell-line, shift-click-line, cannot-sell-line, buy-only-shift-line, spawner-display-name, item-display-name, menu.fill-display-name) are silently lost, and the server logs [WARN]: duplicate keys found : common.
shop.shop.rotations double nesting — daily-special texts live under shop.shop.rotations.* instead of shop.rotations.*, so the rotation system never resolves them.
shop.stock.gui.see-all.lore is a list — stock-gui.yml references see-all.lore.line1 / see-all.lore.line2 via {translate:...} macros, which a list-typed value cannot satisfy.
messages_nl.yml missing live stock-GUI keys — shop.stock.gui.filters.*, shop.stock.gui.pagination.*, and shop.stock.gui.localization.item-price-format / item-blocked / item-frozen / no-items are absent (present only under all-stocks), so those spots render empty in Dutch.
Fix
Branch fix/messages-files on fork OrzMC/EzShops:
- Merges the duplicated
shop.common blocks to a single one (text unchanged).
- Un-nests
shop.shop.rotations to shop.rotations (zh and nl).
- Converts
see-all.lore from a list to a line1 / line2 map (zh and nl).
- Adds the missing
shop.stock.gui keys to nl.
- Adds a regression test
MessageFilesDuplicateKeyTest that parses all four messages_*.yml files in strict mode (allowDuplicateKeys = false), so CI catches any future duplicate keys.
Bug description
Several defects in the bundled
messages_zh.ymlandmessages_nl.ymlfiles make parts of the shop UI render with English fallback text (or empty), and log a startup warning.shop.commonkeys — both files defineshop:twice; SnakeYAML (Bukkit's default) keeps only the last block, so the first 8 keys (buy-line,sell-line,shift-click-line,cannot-sell-line,buy-only-shift-line,spawner-display-name,item-display-name,menu.fill-display-name) are silently lost, and the server logs[WARN]: duplicate keys found : common.shop.shop.rotationsdouble nesting — daily-special texts live undershop.shop.rotations.*instead ofshop.rotations.*, so the rotation system never resolves them.shop.stock.gui.see-all.loreis a list —stock-gui.ymlreferencessee-all.lore.line1/see-all.lore.line2via{translate:...}macros, which a list-typed value cannot satisfy.messages_nl.ymlmissing live stock-GUI keys —shop.stock.gui.filters.*,shop.stock.gui.pagination.*, andshop.stock.gui.localization.item-price-format/item-blocked/item-frozen/no-itemsare absent (present only underall-stocks), so those spots render empty in Dutch.Fix
Branch
fix/messages-fileson forkOrzMC/EzShops:shop.commonblocks to a single one (text unchanged).shop.shop.rotationstoshop.rotations(zh and nl).see-all.lorefrom a list to aline1/line2map (zh and nl).shop.stock.guikeys to nl.MessageFilesDuplicateKeyTestthat parses all fourmessages_*.ymlfiles in strict mode (allowDuplicateKeys = false), so CI catches any future duplicate keys.