Skip to content

Conversation

@lewmilburn
Copy link
Collaborator

@lewmilburn lewmilburn commented Dec 23, 2025

Summary by CodeRabbit

  • New Features
    • Added complete Polish (pl-PL) localization pack with translations for commands, messages, UI, usage text, success/error notices and dynamic placeholders across economy, teleportation, world/team management, player actions, kits, messaging, and more.
    • Added complete Dutch (nl-NL) localization pack providing equivalent comprehensive translations and placeholders for the same set of commands and server feedback.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Dec 23, 2025

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

Adds two new localization resources: Polish (src/main/resources/language/pl-PL.yml) and Dutch (src/main/resources/language/nl-NL.yml). Both are data-only YAML files providing comprehensive translated message keys and placeholders; no executable logic or control-flow changes.

Changes

Cohort / File(s) Summary
New language translation resources
src/main/resources/language/pl-PL.yml, src/main/resources/language/nl-NL.yml
Adds full localization YAMLs (Polish and Dutch) containing ~200+ keys each across meta, about, broadcast, economy, generic, help, teleportation (tprandom, back, top, bottom, ascend/descend, direction, near, home, teamhome, warp, teleport), player actions (fly, speed, feed, heal, burn, extinguish, god, visibility, gamemode, team, spawn, repair, kit), admin/world controls (environment, world, sudo, give, skull, invsee, enchant, list, clear, ignore, recipe), plus many parameterized templates (e.g., {{1}}). Check placeholders and key name consistency with other locales.

Sequence Diagram(s)

(omitted — changes are data-only localization files and do not introduce new multi-component control flow)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • New Crowdin updates #293: Adds/expands localization keys (e.g., ascend, descend, direction, near, warp nopermission) that overlap with keys in these new language files.

Poem

I'm a rabbit with a keyboard, hopping through strings,
I tuck in Dutch and Polish YAML things,
Carrots of keys aligned just right,
Messages ready for day and night,
🐇✨ Hop done — translations take flight!

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'New Crowdin updates' is vague and generic, using non-descriptive terms that don't convey what specific translation or localization change was made. Consider using a more specific title like 'Add Polish (pl-PL) translation resource' to clearly indicate the primary change in the changeset.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8e65971 and 1d1e96a.

📒 Files selected for processing (1)
  • src/main/resources/language/nl-NL.yml

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link

Thank you for opening a pull request to Essence.

Someone will review your request shortly. If you don't hear from us within 5 working days, please feel free to ping Lewis or email dev@lewmc.net

Thank you!

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e379e8a and 2817011.

📒 Files selected for processing (1)
  • src/main/resources/language/pl-PL.yml

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

♻️ Duplicate comments (2)
src/main/resources/language/pl-PL.yml (2)

62-69: Help command descriptions still in English.

These help entries have the command format but the descriptions remain untranslated. For example, line 62 "Open a disposal menu" should be Polish like the surrounding entries.

This is part of the incomplete translation issue already flagged in previous reviews. Since this is a Crowdin update, it may represent work-in-progress translations.


170-512: Significant portion of file remains untranslated.

Lines 170-512 (covering sections: back, top, bottom, ascend, descend, direction, near, home, teamhome, warp, teleport, fly, speed, feed, heal, burn, extinguish, god, visibility, gamemode, team, spawn, repair, kit, info, seen, msg, reply, nick, import, environment, world, sudo, give, skull, invsee, enchant, list, clear, ignore, recipe) are still in English.

This was previously flagged. Given the PR title "New Crowdin updates", this appears to be an incremental translation contribution. The translated sections (lines 7-45, help headers, and partial tprandom) represent meaningful progress. Consider coordinating with the translator (miud) on completing the remaining sections.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2817011 and 399fc1d.

📒 Files selected for processing (1)
  • src/main/resources/language/pl-PL.yml
🔇 Additional comments (1)
src/main/resources/language/pl-PL.yml (1)

4-6: Metadata correctly updated - previous issue resolved.

The language field now correctly indicates "Polski" and the translator is credited as "miud". This addresses the metadata mismatch flagged in previous reviews.

payusage: "§4[Essence] §cUżycie: /pay <gracz> <ilość>"
sent: "§2[Essence] §aWysłałeś {{1}} do {{2}}"
received: "§2[Essence] §aOtrzymałeś {{1}} od {{2}}"
ecousage: "§6[Essence] §eEkonomia komendy:\n§e/eco set <gracz> <ilość> - Ustaw saldo gracza\n§e/eco daj <gracz> <ilośc> - Daj pieniądze graczowi\n§e/eco take <gracz> <ilośc> - Zbierz pieniądze od gracza"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Typos and untranslated command in economy help text.

This line contains a few issues:

  1. "ilośc" appears twice but should be "ilość" (missing ć)
  2. The command /eco take remains in English while /eco daj (give) was translated
🔎 Suggested fix
-  ecousage: "§6[Essence] §eEkonomia komendy:\n§e/eco set <gracz> <ilość> - Ustaw saldo gracza\n§e/eco daj <gracz> <ilośc> - Daj pieniądze graczowi\n§e/eco take <gracz> <ilośc> - Zbierz pieniądze od gracza"
+  ecousage: "§6[Essence] §eEkonomia komendy:\n§e/eco set <gracz> <ilość> - Ustaw saldo gracza\n§e/eco daj <gracz> <ilość> - Daj pieniądze graczowi\n§e/eco zabierz <gracz> <ilość> - Zbierz pieniądze od gracza"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
ecousage: "§6[Essence] §eEkonomia komendy:\n§e/eco set <gracz> <ilość> - Ustaw saldo gracza\n§e/eco daj <gracz> <ilośc> - Daj pieniądze graczowi\n§e/eco take <gracz> <ilośc> - Zbierz pieniądze od gracza"
ecousage: "§6[Essence] §eEkonomia komendy:\n§e/eco set <gracz> <ilość> - Ustaw saldo gracza\n§e/eco daj <gracz> <ilość> - Daj pieniądze graczowi\n§e/eco zabierz <gracz> <ilość> - Zbierz pieniądze od gracza"
🤖 Prompt for AI Agents
In src/main/resources/language/pl-PL.yml around line 22, the economy help text
has typos and an untranslated command: change both occurrences of "ilośc" to
"ilość" (restore the missing 'ć') and translate the English command "/eco take"
to Polish (e.g., "/eco zabierz" or "/eco odbierz") so all three commands are
consistently localized; ensure the file encoding supports the 'ć' character.

grindstone: "§6[Essence] §e/grindstone - Otwórz kamień szlifierski."
loom: "§6[Essence] §e/loom - Otwórz warsztat tkacki."
smithing: "§6[Essence] §e/smithing - Otwórz stół kowala."
stonecutter: "§6[Essence] §e/stonecutter- Otwórz przecinarkę."
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Missing space in stonecutter help text.

There's a missing space between "stonecutter" and the dash before the description.

🔎 Suggested fix
-  stonecutter: "§6[Essence] §e/stonecutter- Otwórz przecinarkę."
+  stonecutter: "§6[Essence] §e/stonecutter - Otwórz przecinarkę."
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
stonecutter: "§6[Essence] §e/stonecutter- Otwórz przecinarkę."
stonecutter: "§6[Essence] §e/stonecutter - Otwórz przecinarkę."
🤖 Prompt for AI Agents
In src/main/resources/language/pl-PL.yml around line 60, the stonecutter help
text lacks a space between "stonecutter" and the dash; update the string to
insert a space so it reads '§6[Essence] §e/stonecutter - Otwórz przecinarkę.'
(preserve surrounding quotes and formatting).

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (2)
src/main/resources/language/pl-PL.yml (2)

22-22: Typos and untranslated command persist.

The issues flagged in the previous review were not addressed:

  1. "ilośc" appears twice but should be "ilość" (missing ć)
  2. The command /eco take remains in English and should be translated (e.g., /eco zabierz)
🔎 Suggested fix
-  ecousage: "§6[Essence] §eEkonomia komendy:\n§e/eco set <gracz> <ilość> - Ustaw saldo gracza\n§e/eco daj <gracz> <ilośc> - Daj pieniądze graczowi\n§e/eco take <gracz> <ilośc> - Zbierz pieniądze od gracza"
+  ecousage: "§6[Essence] §eEkonomia komendy:\n§e/eco set <gracz> <ilość> - Ustaw saldo gracza\n§e/eco daj <gracz> <ilość> - Daj pieniądze graczowi\n§e/eco zabierz <gracz> <ilość> - Zbierz pieniądze od gracza"

60-60: Missing space not fixed.

The formatting issue flagged in the previous review remains: there's no space between "stonecutter" and the dash.

🔎 Suggested fix
-  stonecutter: "§6[Essence] §e/stonecutter- Otwórz przecinarkę."
+  stonecutter: "§6[Essence] §e/stonecutter - Otwórz przecinarkę."
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 399fc1d and 8cddff0.

📒 Files selected for processing (1)
  • src/main/resources/language/pl-PL.yml
🔇 Additional comments (1)
src/main/resources/language/pl-PL.yml (1)

4-6: Metadata correctly configured.

The language is now set to "Polski" and the translator is properly credited. This addresses the metadata issues raised in previous reviews.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (2)
src/main/resources/language/pl-PL.yml (2)

22-22: Still needs fixing: Typos and untranslated command persist.

The issues flagged in the previous review remain:

  1. "ilośc" appears twice (2nd and 3rd occurrences) but should be "ilość" (missing ć)
  2. The command /eco take remains in English and should be translated (e.g., /eco zabierz)

These were previously identified but not yet addressed.

🔎 Suggested fix
-  ecousage: "§6[Essence] §eEkonomia komendy:\n§e/eco set <gracz> <ilość> - Ustaw saldo gracza\n§e/eco daj <gracz> <ilośc> - Daj pieniądze graczowi\n§e/eco take <gracz> <ilośc> - Zbierz pieniądze od gracza"
+  ecousage: "§6[Essence] §eEkonomia komendy:\n§e/eco set <gracz> <ilość> - Ustaw saldo gracza\n§e/eco daj <gracz> <ilość> - Daj pieniądze graczowi\n§e/eco zabierz <gracz> <ilość> - Zbierz pieniądze od gracza"

Based on past review comments.


60-60: Still needs fixing: Missing space before dash.

The spacing issue flagged in the previous review remains: there's no space between "stonecutter" and the dash. This is inconsistent with other command help text formatting in the file.

🔎 Suggested fix
-  stonecutter: "§6[Essence] §e/stonecutter- Otwórz przecinarkę."
+  stonecutter: "§6[Essence] §e/stonecutter - Otwórz przecinarkę."

Based on past review comments.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8cddff0 and 8e65971.

📒 Files selected for processing (1)
  • src/main/resources/language/pl-PL.yml
🔇 Additional comments (2)
src/main/resources/language/pl-PL.yml (2)

4-6: Good: Metadata correctly updated for Polish translation.

The metadata now properly declares the language as "Polski" and credits the translator "miud". This resolves the critical issue from previous reviews.


7-169: Good progress: First third of file successfully translated to Polish.

Lines 7-169 now contain proper Polish translations, which is significant progress compared to previous reviews. The YAML structure, placeholders ({{1}}, {{2}}), and color codes (§) are correctly preserved throughout this section.

Comment on lines +170 to +512
nosafe: "§4[Essence] §cCouldn't find suitable location, please try again."
back:
usage: "§4[Essence] §cUsage: /back [player]"
cant: "§4[Essence] §cYou've not teleported anywhere before, so there's nowhere to go back to!"
cantother: "§4[Essence] §c{{1}} hasn't teleported anywhere before, so there's nowhere to go back to!"
going: "§2[Essence] §aGoing back..."
goingother: "§2[Essence] §aSent {{1}} back to their last location."
sentby: "§2[Essence] §a{{1}} sent you back to your last location."
top:
usage: "§4[Essence] §cUsage: /top [player]"
alreadyattop: "§4[Essence] §cYou're already at the top."
alreadyattopother: "§4[Essence] §c{{1}} is already at the top."
nosafelocation: "§4[Essence] §cCouldn't find a safe location, please try again."
going: "§2[Essence] §aTeleporting to the top..."
goingother: "§2[Essence] §aSent {{1}} to the top."
sentby: "§2[Essence] §a{{1}} sent you to the top."
bottom:
usage: "§4[Essence] §cUsage: /bottom [player]"
alreadyatbottom: "§4[Essence] §cYou're already at the bottom."
alreadyatbottomother: "§4[Essence] §c{{1}} is already at the bottom."
nosafelocation: "§4[Essence] §cCouldn't find a safe location, please try again."
going: "§2[Essence] §aTeleporting to the bottom..."
goingother: "§2[Essence] §aSent {{1}} to the bottom."
sentby: "§2[Essence] §a{{1}} sent you to the bottom."
ascend:
usage: "§4[Essence] §cUsage: /ascend [levels]"
nosafelocation: "§4[Essence] §cCouldn't find a safe location. Are you at the top?"
invalidnumber: "§4[Essence] §c{{1}} is not a valid number!"
going: "§2[Essence] §aAscending {{1}} level(s)..."
descend:
usage: "§4[Essence] §cUsage: /descend [levels]"
nosafelocation: "§4[Essence] §cCouldn't find a safe location. Are you at the bottom?"
invalidnumber: "§4[Essence] §c{{1}} is not a valid number!"
going: "§2[Essence] §aDescending {{1}} level(s)..."
direction:
usage: "§4[Essence] §cUsage: /direction"
direction_north: "§2[Essence] §aYou're facing North, ({{1}}°)"
direction_north_east: "§2[Essence] §aYou're facing North-East, ({{1}}°)"
direction_east: "§2[Essence] §aYou're facing East, ({{1}}°)"
direction_south_east: "§2[Essence] §aYou're facing South-East, ({{1}}°)"
direction_south: "§2[Essence] §aYou're facing South, ({{1}}°)"
direction_south_west: "§2[Essence] §aYou're facing South-West, ({{1}}°)"
direction_west: "§2[Essence] §aYou're facing West, ({{1}}°)"
direction_north_west: "§2[Essence] §aYou're facing North-West, ({{1}}°)"
near:
usage: "§4[Essence] §cUsage: /near [radius]"
invalidradius: "§4[Essence] §c{{1}} is not a valid radius!"
greaterthanmax: "§4[Essence] §c{{1}} is greater than the maximum radius of {{2}}!"
invalidnumber: "§4[Essence] §c{{1}} is not a valid number!"
noplayers: "§4[Essence] §cThere are no discoverable players within {{1}} blocks of you."
playersfound: "§2[Essence] §aFound {{1}} player(s): {{2}}"
home:
notfound: "§4[Essence] §cHome {{1}} does not exist. Use /homes for a list of homes."
deleted: "§2[Essence] §aHome {{1}} has been deleted."
teleportingin: "§2[Essence] §aTeleporting to home {{1}} in {{2}} seconds..."
teleportingnow: "§2[Essence] §aTeleporting to home {{1}}..."
noneset: "§4[Essence] §cYou haven't set any homes."
list: "§6[Essence] §eHomes: {{1}}"
specialchars: "§4[Essence] §cHomes cannot contain special characters!"
alreadyexists: "§4[Essence] §cA home with this name already exists."
created: "§2[Essence] §aCreated home '{{1}}'."
cantcreate: "§4[Essence] §cUnable to create home '{{1}}'."
hitlimit: "§4[Essence] §cYou can't create any more homes."
teamhome:
notfound: "§4[Essence] §cTeam home {{1}} does not exist. Use /homes for a list of homes."
deleted: "§2[Essence] §aTeam home {{1}} has been deleted."
teleportingin: "§2[Essence] §aTeleporting to team home {{1}} in {{2}} seconds..."
teleportingnow: "§2[Essence] §aTeleporting to team home {{1}}..."
noneset: "§4[Essence] §cYou haven't set any team homes."
list: "§6[Essence] §eTeam homes: {{1}}"
specialchars: "§4[Essence] §cTeam homes cannot contain special characters!"
alreadyexists: "§4[Essence] §cA team home with this name already exists."
created: "§2[Essence] §aCreated team home '{{1}}'."
hitlimit: "§4[Essence] §cYou can't create any more team homes."
warp:
notfound: "§4[Essence] §cWarp {{1}} does not exist. Use /warps for a list of warps."
deleted: "§2[Essence] §aWarp {{1}} has been deleted."
usage: "§4[Essence] §cUsage: /warp <name> - use /warps for a list."
delusage: "§4[Essence] §cUsage: /delwarp <name>"
setusage: "§4[Essence] §cUsage: /setwarp <name>"
specialchars: "§4[Essence] §cWarps cannot contain special characters!"
alreadyexists: "§4[Essence] §cA warp with this name already exists."
created: "§2[Essence] §aCreated warp '{{1}}'."
cantcreate: "§4[Essence] §cUnable to create warp '{{1}}'."
teleportingin: "§2[Essence] §aWarping to '{{1}}' in {{2}} seconds..."
teleportingnow: "§2[Essence] §aWarping to '{{1}}'..."
noneset: "§4[Essence] §cThere are no warps set."
list: "§6[Essence] §eWarps: {{1}}"
hitlimit: "§4[Essence] §cYou can't create any more warps."
nopermission: "§4[Essence] §cYou don't have permission to delete '{{1}}'!"
teleport:
to: "§2[Essence] §aTeleporting to {{1}}..."
tooffline: "§2[Essence] §aThis player is offline, so you won't see them when you arrive."
offlinenoworld: "§4[Essence] §cUnable to teleport due to the offline player's last known world being unknown."
toplayer: "§2[Essence] §aTeleporting {{1}} to {{2}}..."
tocoord: "§2[Essence] §aTeleporting to {{1}}..."
playertocoord: "§2[Essence] §aTeleporting {{1}} to {{2}}..."
usage: "§4[Essence] §cUsage: /tp <player> OR /tp <player> <player> OR /tp <x> <y> <z> OR /tp <player> <x> <y> <z>"
wait: "§6[Essence] §eTeleporting in {{1}} seconds..."
tryagain: "§4[Essence] §cPlease wait {{1}} seconds before teleporting again."
toggled: "§2[Essence] §aTeleportation requests {{1}}."
userrequired: "§4[Essence] §cPlease enter a username to request to teleport to."
requested: "§6[Essence] §e{{1}} has requested to teleport to you."
requestedhere: "§6[Essence] §e{{1}} has requested that you teleport to them."
acceptdeny: "§6[Essence] §eTo accept type /tpaccept, to deny type /tpdeny."
acceptbutton: "Accept"
denybutton: "Deny"
accepthover: "Click to accept the teleport request"
denyhover: "Click to deny the teleport request"
acceptnone: "§4[Essence] §cYou have no pending teleport requests to accept."
requestaccepted: "§2[Essence] §a{{1}} has accepted your teleport request."
requestdenied: "§4[Essence] §c{{1}} has denied your teleport request."
requestsent: "§2[Essence] §aTeleport request sent."
canceldone: "§2[Essence] §aCancelled pending teleport requests."
cancelnone: "§4[Essence] §cYou have no pending teleport requests to cancel."
requestsdisabled: "§4[Essence] §c{{1}} has teleportation requests disabled."
movetocancel: "§6[Essence] §eMove to cancel teleportation."
cancelled: "§4[Essence] §cTeleportation cancelled."
exception: "§4[Essence] §cEssence encountered an issue whilst trying to process this teleportation, please see console for details."
offlineplayernodata: "§4[Essence] §cUnable to teleport - The requested player is offline and Essence does not have their last location stored."
fly:
flying: "§2[Essence] §aYou can now fly!"
stopped: "§2[Essence] §aYou can no longer fly!"
flyother: "§2[Essence] §a{{1}} can now fly!"
stopother: "§2[Essence] §a{{1}} can no longer fly!"
flybyother: "§2[Essence] §a{{1}} has enabled flying for you!"
stopbyother: "§2[Essence] §a{{1}} has disabled flying for you!"
usage: "§4[Essence] §cUsage: /fly [user]"
speed:
bounds: "§4[Essence] §cSpeed must be between -10 and 10."
current: "§2[Essence] §aYour speed is {{1}}."
set: "§2[Essence] §aSet your speed to {{1}}."
setother: "§2[Essence] §aSet {{1}}'s speed to {{2}}."
setbyother: "§2[Essence] §a{{1}} set your speed to {{2}}."
reset: "§2[Essence] §aYour speed has been reset."
resetother: "§2[Essence] §aReset {{1}}'s speed."
resetbyother: "§2[Essence] §a{{1}} reset your speed."
feed:
fed: "§2[Essence] §aYou fed {{1}}."
serverfed: "§2[Essence] §aYou've been fed by a magical force."
fedby: "§2[Essence] §aYou've been fed by {{1}}."
beenfed: "§2[Essence] §aYou've been fed!"
usage: "§4[Essence] §cUsage: /feed [player]"
heal:
healed: "§2[Essence] §aYou healed {{1}}."
serverhealed: "§2[Essence] §aYou've been healed by a magical force."
healedby: "§2[Essence] §aYou've been healed by {{1}}."
beenhealed: "§2[Essence] §aYou've been healed!"
usage: "§4[Essence] §cUsage: /heal [player]"
burn:
burned: "§2[Essence] §aYou burned {{1}}."
serverburned: "§2[Essence] §aYou've been burned by a magical force."
burnedby: "§2[Essence] §aYou've been burned by {{1}}."
usage: "§4[Essence] §cUsage: /burn <player> <seconds>"
invalidnumber: "§4[Essence] §c{{1}} is not a valid number!"
extinguish:
extinguished: "§2[Essence] §aYou extinguished {{1}}."
serverextinguished: "§2[Essence] §aYou've been extinguished by a magical force."
extinguishedby: "§2[Essence] §aYou've been extinguished by {{1}}."
beenextinguished: "§2[Essence] §aYou've been extinguished!"
usage: "§4[Essence] §cUsage: /extinguish [player]"
god:
enabled: "§2[Essence] §aYou enabled God mode for {{1}}."
disabled: "§2[Essence] §aYou disabled God mode for {{1}}."
serverenabled: "§2[Essence] §aYou've been given God mode by a magical force."
serverdisabled: "§2[Essence] §aYour God mode has been disabled by a magical force."
enabledby: "§2[Essence] §aGod mode enabled by {{1}}."
disabledby: "§2[Essence] §aGod mode disabled by {{1}}."
beenenabled: "§2[Essence] §aGod mode enabled."
beendisabled: "§2[Essence] §aGod mode disabled."
usage: "§4[Essence] §cUsage: /god [player]"
visibility:
invisible: "§2[Essence] §aYou are now invisible."
visible: "§2[Essence] §aYou are now visible."
alreadyvisible: "§4[Essence] §cYou are already visible."
gamemode:
usage: "§4[Essence] §cUsage: /gamemode <mode> [player]."
specify: "§4[Essence] §cPlease specify a gamemode (example: /gamemode creative)."
done: "§2[Essence] §aSwitched to {{1}} mode."
doneby: "§2[Essence] §aYou have been switched to {{1}} mode by {{2}}."
doneother: "§2[Essence] §aYou have switched {{1}} to {{2}} mode."
team:
longname: "§4[Essence] §cTeam name is too long, maximum 12 characters."
exists: "§4[Essence] §cA team with this name already exists."
notfound: "§4[Essence] §cCouldn't find a team with that name."
specialchars: "§4[Essence] §cTeam names can't contain special characters."
malformed: "§4[Essence] §cLooks like that command isn't quite right, please see /es help team for more information."
namerequired: "§4[Essence] §cPlease specify the team name you'd like to join."
created: "§2[Essence] §aCreated team {{1}}."
requested: "§6[Essence] §eYour request to join team {{1}} has been sent."
noteam: "§4[Essence] §cYou aren't a member of any teams."
leaderrequired: "§4[Essence] §cYou need to be team leader to use this command."
teamrequests: "§6[Essence] §eRequests to join {{1}}: {{2}}"
howtoaccept: "§6[Essence] §eTo accept use /team accept <name>"
howtodecline: "§6[Essence] §eTo decline use /team decline <name>"
alreadyinteam: "§4[Essence] §cYou are currently a member of {{1}}. To join another team you must first leave this team by using /team leave."
accepted: "§2[Essence] §aAccepted {{1}}'s join request."
declined: "§2[Essence] §aDeclined {{1}}'s join request."
left: "§2[Essence] §aYou left team {{1}}."
requiresdisband: "§4[Essence] §cYou are currently the leader of {{1}} and therefore can't leave, you can transfer ownership of the team by using /team changeleader <name>."
leadernamerequired: "§4[Essence] §cPlease enter the name of the player you'd like to make leader."
leadertransfer: "§2[Essence] §a{{1}} is now the leader of {{2}}."
usernamerequired: "§4[Essence] §cPlease enter the name of the player."
name: "§6[Essence] §e----- Team {{1}} -----"
leader: "§6[Essence] §eLeader: {{1}}."
members: "§6[Essence] §eMembers: {{1}}."
kicked: "§2[Essence] §a{{1}} was kicked from {{2}}."
usernotmember: "§4[Essence] §c{{1}} is not a member of {{2}}."
usernotrequested: "§4[Essence] §c{{1}} has not requested to join {{2}}."
disbanded: "§2[Essence] §aYou've disbanded {{1}}."
rulechanged: "§2[Essence] §aRule {{1}} set to {{2}}."
cantchangerule: "§4[Essence] §cUnable to change rule {{1}} to {{2}}, please ensure it is 'true' or 'false'."
rulenotfound: "§4[Essence] §cRule {{1}} does not exist."
rulemissing: "§4[Essence] §cPlease specify the rule you'd like to change."
rulevalue: "§6[Essence] §eRule {{1}} is currently set to {{2}}."
disallowedhomes: "§4[Essence] §cYour team has disabled team homes."
spawn:
set: "§2[Essence] §aSpawn set."
teleportingin: "§2[Essence] §aTeleporting in {{1}} seconds..."
teleportingnow: "§2[Essence] §aTeleporting..."
notexist: "§4[Essence] §cThe world requested either does not exist or could not be loaded."
worldnoperms: "§4[Essence] §cYou do not have permission to change worlds."
repair:
done: "§2[Essence] §aItem repaired."
invalidtype: "§4[Essence] §cThe item in your hand is not repairable."
kit:
select: "§6[Essence] §ePlease select a Kit: {{1}}."
nopermission: "§4[Essence] §cYou do not have access to this kit."
notexist: "§4[Essence] §cThis kit does not exist."
done: "§2[Essence] §aYou now have the {{1}} kit."
max: "§4[Essence] §cYou have claimed this kit too many times."
info:
uuid: "§6[Essence] §e--- {{1}} ---"
lastname: "§6[Essence] §eLast known name: {{1}}."
lastseen: "§6[Essence] §eLast logged in: {{1}}."
neverseen: "§4[Essence] §cLast logged in: Never."
nickname: "§6[Essence] §eNickname: {{1}}."
team: "§6[Essence] §eTeam: {{1}}."
ip: "§6[Essence] §eIP address: {{1}}."
noip: "§4[Essence] §cIP address: No permission."
canfly: "§6[Essence] §eCan fly: {{1}}."
speed: "§6[Essence] §eMaximum speed: {{1}}."
seen:
lastseen: "§6[Essence] §e{{1}} last logged in at {{2}}."
neverseen: "§6[Essence] §e{{1}} does not have a recorded last login date."
msg:
usage: "§4[Essence] §cUsage: /msg <player> <message>"
send: "§6[§e{{1}} §6-> §e{{2}}§6] §f{{3}}"
reply:
usage: "§4[Essence] §cUsage: /reply <message>"
none: "§4[Essence] §cYou don't have anyone to reply to!"
nick:
usage: "§4[Essence] §cUsage: /nick <name>"
consoleusage: "§4[Essence] §cUsage: /nick <user> <name>"
specialchars: "§4[Essence] §cNicknames cannot contain special characters."
success: "§2[Essence] §aChanged your nickname to {{1}}."
successother: "§2[Essence] §aChanged {{1}}'s nickname to {{2}}."
changedby: "§2[Essence] §a{{1}} changed your nickname to {{2}}."
import:
list: "§6[Essence] §ePlease select an option: 'Essentials'."
unsupported: "§4[Essence] §cSorry, Essence doesn't support importing data from '{{1}}'"
importedwarps: "§2[Essence] §aSuccessfully imported warps from {{1}}."
importedhomes: "§2[Essence] §aSuccessfully imported homes from {{1}}."
importedspawns: "§2[Essence] §aSuccessfully imported spawns from {{1}}."
unabletoimport: "§4[Essence] §cUnable to import {{1}} from {{2}}."
environment:
time: "§6[Essence] §eTime is {{1}} in {{2}}."
timeset: "§2[Essence] §aTime set to {{1}} in {{2}}."
timeconsoleusage: "§4[Essence] §cUsage: /time <world> <time>"
timeplayerusage: "§4[Essence] §cUsage: /time <time>"
unknowntime: "§4[Essence] §cUnknown time {{1}}. Please enter a valid string or number."
timehelp: "§4[Essence] §cSee https://wiki.lewmc.net/ES-Time-and-Weather.html for help."
weather: "§6[Essence] §eWeather is {{1}} in {{2}}."
weatherset: "§2[Essence] §aWeather set to {{1}} in {{2}}."
weatherconsoleusage: "§4[Essence] §cUsage: /weather <world> <weather>"
weatherplayerusage: "§4[Essence] §cUsage: /weather <weather>"
unknownweather: "§4[Essence] §cUnknown weather type {{1}}. Options are clear, rain, or thunder."
playerweather: "§6[Essence] §eYour player weather is {{1}}."
playerweatherset: "§2[Essence] §aYour player weather is set to {{1}}."
playerweatherreset: "§2[Essence] §aYour player weather now matches server weather."
playertime: "§6[Essence] §eYour player time is {{1}}."
playertimeset: "§2[Essence] §aYour player time is set to {{1}}."
playertimereset: "§2[Essence] §aYour player time now matches server time."
world:
usage: "§4[Essence] §cUsage: /world <action> <name>"
usageactions: "§4[Essence] §cActions: create, delete, load, list, tp, unload"
noname: "§4[Essence] §cPlease enter a world name."
created: "§2[Essence] §aWorld '{{1}}' created successfully."
notcreated: "§4[Essence] §cUnable to create world '{{1}}': {{2}}."
alreadyexists: "§4[Essence] §cWorld '{{1}}' already exists."
unloaded: "§2[Essence] §aWorld '{{1}}' unloaded successfully."
loaded: "§2[Essence] §aWorld '{{1}}' loaded successfully."
notloaded: "§4[Essence] §cUnable to load world '{{1}}': {{2}}."
notfound: "§4[Essence] §cWorld '{{1}}' could not be found."
listloaded: "§6[Essence] §eLoaded: {{1}}"
listunloaded: "§6[Essence] §eUnloaded: {{1}}"
deleteunloaded: "§4[Essence] §cCannot delete world: '{{1}}', world is loaded."
deleted: "§2[Essence] §aWorld '{{1}}' deleted successfully."
sudo:
usage: "§4[Essence] §cUsage: /sudo <player> <usage>"
recursion: "§4[Essence] §cThat command may cause your server to lag and has been blocked."
ran: "§2[Essence] §aForced {{1}} to run '{{2}}'"
give:
usage: "§4[Essence] §cUsage: /give <player> <item> [amount] or /give <item> [amount]"
blacklisted: "§4[Essence] §cItem {{1}} cannot be given."
invalidamount: "§4[Essence] §cCannot give amount of {{1}}."
gaveself: "§2[Essence] §aGave {{1}}x {{2}} to yourself."
gaveother: "§2[Essence] §aGave {{1}}x {{2}} to {{3}}."
skull:
usage: "§4[Essence] §cUsage: /skull <player>"
given: "§2[Essence] §aGiven {{1}}'s skull."
invsee:
usage: "§4[Essence] §cUsage: /invsee <player>"
enchant:
usage: "§4[Essence] §cUsage: /enchant <enchantment> <level>"
notfound: "§4[Essence] §cEnchantment not found."
invalidtype: "§4[Essence] §cYou can't enchant that."
done: "§2[Essence] §aItem enchanted."
list:
number: "§6[Essence] §eOnline: {{1}}/{{2}}"
list: "§6[Essence] §e{{1}}"
clear:
usage: "§4[Essence] §cUsage: /clear or /clear <player>"
consoleusage: "§4[Essence] §cUsage: /clear <player>"
cleared: "§2[Essence] §aYour inventory was cleared."
clearedby: "§6[Essence] §eYour inventory was cleared by {{1}}."
clearedother: "§2[Essence] §aCleared {{1}}'s inventory."
confirmon: "§2[Essence] §aYou now need to confirm to clear your inventory."
confirmoff: "§2[Essence] §aYou no longer need to confirm to clear your inventory."
confirmcant: "§4[Essence] §cUnable to change your preferences, something went wrong."
confirm: "§6[Essence] §eRun /clear again to confirm."
ignore:
usage: "§4[Essence] §cUsage: /ignore or /ignore <player>"
ignored: "§2[Essence] §aYou ignored {{1}}, you won't see messages in chat from them."
unignored: "§2[Essence] §aYou unignored {{1}}, you will now see messages in chat from them."
cantmessage: "§4[Essence] §cYou can't message {{1}}."
cantteleport: "§4[Essence] §cYou can't request to teleport to {{1}}."
ignoring: "§6[Essence] §eYou are ignoring {{1}}."
ignoringnone: "§6[Essence] §eYou are not ignoring anybody."
recipe:
usage: "§4[Essence] §cUsage: /recipe or /recipe <item>"
norecipe: "§4[Essence] §cNo recipe found for {{1}}."
notsupported: "§4[Essence] §cEssence does not support showing recipes for {{1}}."
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash

# First, get basic info about the file
echo "=== File Information ==="
wc -l src/main/resources/language/pl-PL.yml
echo ""

# Check the beginning of the file to see structure
echo "=== First 20 lines (header/structure) ==="
head -20 src/main/resources/language/pl-PL.yml
echo ""

# Check lines around 130-169 to see if translations exist there
echo "=== Lines 130-150 (allegedly translated section) ==="
sed -n '130,150p' src/main/resources/language/pl-PL.yml
echo ""

# Check lines 170-175 (allegedly untranslated section start)
echo "=== Lines 170-175 (allegedly untranslated section start) ==="
sed -n '170,175p' src/main/resources/language/pl-PL.yml
echo ""

# Sample a few more sections to verify the pattern
echo "=== Lines 250-255 (middle of allegedly untranslated section) ==="
sed -n '250,255p' src/main/resources/language/pl-PL.yml
echo ""

# Count lines with English key phrases
echo "=== Checking for English phrases ==="
grep -c "Usage:" src/main/resources/language/pl-PL.yml || echo "0"
echo "Lines containing 'Usage:' found above"
echo ""

# Check if there are any Polish words (basic check for Polish diacritics)
echo "=== Checking for Polish characters (ąćęłńóśźż) ==="
grep -c "[ąćęłńóśźż]" src/main/resources/language/pl-PL.yml || echo "0"
echo "Lines with Polish diacritics found above"

Repository: LewMC/Essence

Length of output: 3694


Complete translation in Crowdin before merging—lines 170–512 remain untranslated.

Verification confirms the majority of the file (approximately 343 of 512 lines) is still in English. While the help section (lines 130–169) is properly translated to Polish, critical user-facing messages from line 170 onward remain untranslated, including:

  • Teleportation commands (back, top, bottom, ascend, descend, direction, near, home, warp, teleport)
  • Player status commands (fly, speed, feed, heal, burn, extinguish, god, visibility, gamemode)
  • Team management, environment controls, world management, and inventory commands

Polish users will encounter English text for the vast majority of server interactions. Complete the translation work in Crowdin before merging this update.

🤖 Prompt for AI Agents
src/main/resources/language/pl-PL.yml lines 170–512: this block is largely still
in English (teleportation, player status, team, world, environment, etc.) and
must be fully translated into Polish before merging; open the Crowdin project
for this repository, translate every untranslated string in these lines into
correct Polish (preserving placeholders like {{1}}, {{2}} and Minecraft
formatting codes such as §2, §4, §6, §a, §c), run the repository's localization
validation (or YAML linter) to ensure no syntax/placeholder errors, commit the
updated pl-PL.yml to the Crowdin branch and push the completed translations back
into the PR.

@sonarqubecloud
Copy link

@lewmilburn lewmilburn merged commit 605b637 into next-update Dec 31, 2025
3 of 5 checks passed
@lewmilburn lewmilburn deleted the crowdin branch December 31, 2025 09:31
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.

2 participants