Skip to content

add map: dungeon#4161

Closed
af-inet wants to merge 1 commit into
openfrontio:mainfrom
af-inet:map-dungeon
Closed

add map: dungeon#4161
af-inet wants to merge 1 commit into
openfrontio:mainfrom
af-inet:map-dungeon

Conversation

@af-inet
Copy link
Copy Markdown
Contributor

@af-inet af-inet commented Jun 5, 2026

Description:

Adds new map "Dungeon".

Screenshot_2026-06-05_082303

Please complete the following:

  • I have added screenshots for all UI updates
  • I process any text displayed to the user through translateText() and I've added it to the en.json file
  • I have added relevant tests to the test directory

Please put your Discord username so you can be contacted if a bug or regression is found:

agrippa.lich

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Jun 5, 2026

CLA assistant check
All committers have signed the CLA.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 5, 2026

Review Change Stack

Walkthrough

This PR introduces a new playable map named "Dungeon" to the game by registering it as a fantasy map type, defining its asset data, configuring its playlist frequency, and providing localized names in 33 languages.

Changes

Dungeon Map Integration

Layer / File(s) Summary
Dungeon map type and categorization
src/core/game/Game.ts
GameMapType enum member Dungeon = "Dungeon" is added; mapCategories updated to include GameMapType.Dungeon in the fantasy category array.
Dungeon map asset definitions
map-generator/assets/maps/dungeon/info.json, resources/maps/dungeon/manifest.json, map-generator/main.go
Dungeon map data is defined: info.json specifies eight nations (Dragon, Wizard, Necromancer, Skeleton, Knight, Assassin, Alchemist, Goblin) with coordinate pairs; manifest.json describes map dimensions for base and scaled variants and nation placements; main.go registers dungeon in the map builder registry.
Dungeon map playlist frequency configuration
src/server/MapPlaylist.ts
Dungeon: 8 is added to the FREQUENCY table, setting selection weight for public playlist generation.
Dungeon localization across 33 languages
resources/lang/en.json, resources/lang/ar.json, resources/lang/bg.json, resources/lang/bn.json, resources/lang/ca.json, resources/lang/cs.json, resources/lang/da.json, resources/lang/de-CH.json, resources/lang/de.json, resources/lang/el.json, resources/lang/eo.json, resources/lang/es.json, resources/lang/et.json, resources/lang/fa.json, resources/lang/fi.json, resources/lang/fr.json, resources/lang/gl.json, resources/lang/he.json, resources/lang/hi.json, resources/lang/hu.json, resources/lang/id.json, resources/lang/it.json, resources/lang/ja.json, resources/lang/ko.json, resources/lang/mk.json, resources/lang/nl.json, resources/lang/pl.json, resources/lang/pt-BR.json, resources/lang/pt-PT.json, resources/lang/ru.json, resources/lang/sh.json, resources/lang/sk.json, resources/lang/sl.json, resources/lang/sv-SE.json, resources/lang/tp.json, resources/lang/tr.json, resources/lang/uk.json, resources/lang/zh-CN.json
map.dungeon translation key is added to all language files with culturally appropriate names: English "Dungeon", Spanish "Mazmorra", French "Donjon", German "Verlies", Italian "Sotterraneo", Russian "Подземелье", Japanese "ダンジョン", and equivalents in 25 additional languages.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • openfrontio/OpenFrontIO#4143: Adds a different fantasy map ("ChoppingBlock") using the same pattern of extending GameMapType and updating map playlist frequency.
  • openfrontio/OpenFrontIO#4002: Another map addition ("Labyrinth") that follows the same structural pattern for GameMapType enum, mapCategories, and MapPlaylist.FREQUENCY.

Suggested reviewers

  • evanpelle

Poem

🏰 Eight nations gathered in a dungeon deep,
Dragons, wizards, and secrets to keep,
From English halls to lands far and wide,
With names in thirty-three tongues, side by side,
A new realm awaits, for adventurers to sweep!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'add map: dungeon' clearly and concisely describes the main change—adding a new dungeon map to the system. It directly matches the changeset content.
Description check ✅ Passed The description is directly related to the changeset, stating 'Adds new map Dungeon' with supporting details, screenshots, and completion of required checklist items for UI, translations, and tests.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.12.2)

level=error msg="[linters_context] typechecking error: pattern ./...: directory prefix . does not contain main module or its selected dependencies"


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 github-actions Bot added the auto-closed-needs-issue PR closed by gate — see comment for next steps label Jun 5, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

Hi @af-inet, thanks for the contribution.

This PR was automatically closed because it doesn't fit our contribution workflow:

  • You aren't currently assigned to an issue labelled approved, and
  • The change is larger than 50 lines (our cap for unsolicited contributions).

To contribute to OpenFront:

  1. For bugs or small quality-of-life improvements: open an issue. A maintainer will label it approved if it's something we'll work on.
  2. For feature ideas: discuss in the dev Discord first. We don't accept unsolicited feature PRs — even if they're good ideas, every merged feature is a permanent maintenance burden.
  3. Once an issue is labelled approved, comment asking to be assigned. After you're assigned, you can open a PR referencing that issue.

If you believe this was closed in error, please reach out on our Discord or comment below.

See CONTRIBUTING.md for the full contribution process.

Automated PR gate. Source.

@github-actions github-actions Bot closed this Jun 5, 2026
@github-project-automation github-project-automation Bot moved this from Triage to Complete in OpenFront Release Management Jun 5, 2026
Copy link
Copy Markdown
Contributor

@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: 10

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
map-generator/assets/maps/dungeon/info.json (1)

1-62: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Fix Prettier formatting issue to pass CI.

The pipeline reports formatting issues in this file. Run npx prettier --write map-generator/assets/maps/dungeon/info.json to fix.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@map-generator/assets/maps/dungeon/info.json` around lines 1 - 62, The JSON
file containing the top-level keys "name": "Dungeon" and "nations" is failing
Prettier formatting; fix it by running Prettier (e.g., npx prettier --write) on
that info.json and commit the formatted file so the "name"/"nations" JSON
structure is properly indented and passes CI.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@resources/lang/ar.json`:
- Around line 131-132: Remove the non-English locale change that added the
"baikal" and "dungeon" keys to the Arabic translations (the edit in ar.json);
revert that file to its previous state and ensure only the corresponding key
addition is present in resources/lang/en.json so translations remain managed
through the Crowdin workflow.

In `@resources/lang/fr.json`:
- Around line 372-373: The FR locale was modified in this PR but project policy
forbids changing non-English files in regular feature PRs; revert the changes to
the keys "bajacalifornia" and "dungeon" in resources/lang/fr.json (undo the
added/changed entries) so the file matches the branch baseline, and instead make
any required string updates in resources/lang/en.json only or submit a dedicated
translation PR titled "mls" by Aotumori / let Crowdin update translations.

In `@resources/lang/ko.json`:
- Around line 332-333: Revert the edits to the non-English locale file by
removing the added keys "hawaii" and "dungeon" from resources/lang/ko.json (or
restore the file to its previous state) and instead add or update those keys
only in resources/lang/en.json; ensure the PR contains changes to en.json only
and leave other locale files untouched so translation sync/Crowdin can propagate
them later.

In `@resources/lang/mk.json`:
- Around line 181-182: Revert the changes to the Macedonian locale by removing
the added/modified keys ("pluto" and "dungeon") from resources/lang/mk.json so
non-English files remain untouched in this PR; if these labels need to be
changed, apply them only to resources/lang/en.json (update the English source
keys) and leave the mk.json translation updates to the translation sync process
or a dedicated translation PR.

In `@resources/lang/nl.json`:
- Around line 289-290: This PR modified non-English locale entries
("amazonriver" and "dungeon") in resources/lang/nl.json which is not allowed
here; revert any changes to resources/lang/nl.json so it matches the upstream
translation state, ensure the new/updated map keys are only added to
resources/lang/en.json (e.g., the "map.dungeon"/"amazonriver" entries) in this
feature PR, and if translated Dutch strings are required open a dedicated
translation PR to update nl.json.

In `@resources/lang/pl.json`:
- Around line 200-201: Revert the direct edits to resources/lang/pl.json for the
keys "baikalnukewars" and "dungeon" (undo the changes that added "Bajkał (Wojny
Atomowe)" and "Loch") and instead add or update the English source in
resources/lang/en.json if needed, then submit the Polish translations through
the translation pipeline (Crowdin) per the translation workflow rather than
committing changes directly to resources/lang/pl.json.

In `@resources/lang/pt-BR.json`:
- Around line 115-116: Revert the manual edits to the non-English locale keys
"knownworld" and "dungeon" in resources/lang/pt-BR.json and restore the previous
file state; instead make the canonical text change in resources/lang/en.json (or
the source-of-truth used by the translation workflow) so the translation
pipeline can propagate updates, or file the appropriate translation task/PR in
the translation system referencing the "knownworld" and "dungeon" keys so pt-BR
gets updated via the official workflow.

In `@resources/lang/pt-PT.json`:
- Around line 169-170: Revert the direct edits to resources/lang/pt-PT.json
(remove the added/changed keys "pluto" and "dungeon") and do not commit
translation changes outside of Crowdin; instead add or update the source strings
in resources/lang/en.json (using the same keys "pluto" and "dungeon" if new) and
submit translation updates through the Crowdin/translation sync pipeline so
pt-PT is updated by the localization workflow.

In `@resources/lang/ru.json`:
- Around line 372-373: Revert the direct edits to the Russian locale file by
removing the changes to the keys "bajacalifornia" and "dungeon" in
resources/lang/ru.json (restore the prior file state) and instead submit these
translation updates via the project's translation workflow (Crowdin) or a
dedicated translation PR; keep only changes to resources/lang/en.json in this
feature branch.

In `@resources/lang/sh.json`:
- Around line 124-125: The PR edits non-English locale keys "europeclassic" and
"dungeon" in resources/lang/sh.json which violates the translation workflow;
revert those changes in sh.json and instead apply any copy/text updates to
resources/lang/en.json (or create a dedicated translation PR) so that only
English is updated in this feature PR and sh.json is left for the translation
pipeline to handle.

---

Outside diff comments:
In `@map-generator/assets/maps/dungeon/info.json`:
- Around line 1-62: The JSON file containing the top-level keys "name":
"Dungeon" and "nations" is failing Prettier formatting; fix it by running
Prettier (e.g., npx prettier --write) on that info.json and commit the formatted
file so the "name"/"nations" JSON structure is properly indented and passes CI.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9188033b-3484-45e8-b9ad-80bf3825c8fd

📥 Commits

Reviewing files that changed from the base of the PR and between 2c2390d and e15b948.

⛔ Files ignored due to path filters (4)
  • map-generator/assets/maps/dungeon/image.png is excluded by !**/*.png
  • resources/maps/dungeon/map.bin is excluded by !**/*.bin
  • resources/maps/dungeon/map16x.bin is excluded by !**/*.bin
  • resources/maps/dungeon/map4x.bin is excluded by !**/*.bin
📒 Files selected for processing (49)
  • map-generator/assets/maps/dungeon/info.json
  • map-generator/main.go
  • resources/lang/ar.json
  • resources/lang/bg.json
  • resources/lang/bn.json
  • resources/lang/ca.json
  • resources/lang/cs.json
  • resources/lang/da.json
  • resources/lang/de-CH.json
  • resources/lang/de.json
  • resources/lang/el.json
  • resources/lang/en.json
  • resources/lang/eo.json
  • resources/lang/es.json
  • resources/lang/et.json
  • resources/lang/fa.json
  • resources/lang/fi.json
  • resources/lang/fr.json
  • resources/lang/gl.json
  • resources/lang/he.json
  • resources/lang/hi.json
  • resources/lang/hu.json
  • resources/lang/id.json
  • resources/lang/it.json
  • resources/lang/ja.json
  • resources/lang/ko.json
  • resources/lang/mk.json
  • resources/lang/nl.json
  • resources/lang/pl.json
  • resources/lang/pt-BR.json
  • resources/lang/pt-PT.json
  • resources/lang/ru.json
  • resources/lang/sh.json
  • resources/lang/sk.json
  • resources/lang/sl.json
  • resources/lang/sv-SE.json
  • resources/lang/tp.json
  • resources/lang/tr.json
  • resources/lang/uk.json
  • resources/lang/zh-CN.json
  • resources/maps/dungeon/manifest.json
  • resources/maps/dungeon/manifest.json:Zone.Identifier
  • resources/maps/dungeon/map.bin:Zone.Identifier
  • resources/maps/dungeon/map16x.bin:Zone.Identifier
  • resources/maps/dungeon/map4x.bin:Zone.Identifier
  • resources/maps/dungeon/thumbnail.webp
  • resources/maps/dungeon/thumbnail.webp:Zone.Identifier
  • src/core/game/Game.ts
  • src/server/MapPlaylist.ts

Comment thread resources/lang/ar.json
Comment on lines +131 to +132
"baikal": "بايكال",
"dungeon": "زنزانة"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Please avoid editing non-English locale files in this PR.

Line 132 adds a new key in resources/lang/ar.json, but this repo’s translation workflow expects regular feature PRs to update only resources/lang/en.json; non-English locales are maintained via Crowdin/translation PR flow. Please drop non-en locale edits from this PR and keep only the en.json key addition.

Based on learnings: “Do not modify translation files other than resources/lang/en.json (translations are managed via Crowdin)” and “translation files in resources/lang/*.json (except en.json) should not be updated in regular PRs.”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@resources/lang/ar.json` around lines 131 - 132, Remove the non-English locale
change that added the "baikal" and "dungeon" keys to the Arabic translations
(the edit in ar.json); revert that file to its previous state and ensure only
the corresponding key addition is present in resources/lang/en.json so
translations remain managed through the Crowdin workflow.

Comment thread resources/lang/fr.json
Comment on lines +372 to +373
"bajacalifornia": "Basse-Californie",
"dungeon": "Donjon"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Do not update non-English locale files in regular feature PRs

Line 372 and Line 373 add French locale changes, but project practice is to update only resources/lang/en.json in regular PRs and let Crowdin handle other locales.

Based on learnings: “translation files in resources/lang/*.json (except en.json) should not be updated in regular PRs. Only dedicated translation PRs titled "mls" and made by Aotumori should update non-English locale files.”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@resources/lang/fr.json` around lines 372 - 373, The FR locale was modified in
this PR but project policy forbids changing non-English files in regular feature
PRs; revert the changes to the keys "bajacalifornia" and "dungeon" in
resources/lang/fr.json (undo the added/changed entries) so the file matches the
branch baseline, and instead make any required string updates in
resources/lang/en.json only or submit a dedicated translation PR titled "mls" by
Aotumori / let Crowdin update translations.

Comment thread resources/lang/ko.json
Comment on lines +332 to +333
"hawaii": "하와이",
"dungeon": "던전"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Please avoid direct edits to non-English locale files in feature PRs.

Line 332 and Line 333 update resources/lang/ko.json, but this repo’s localization flow expects only resources/lang/en.json changes in regular PRs, with other locales handled by translation sync/Crowdin.

Based on learnings: “Do not modify translation files other than resources/lang/en.json (translations are managed via Crowdin).”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@resources/lang/ko.json` around lines 332 - 333, Revert the edits to the
non-English locale file by removing the added keys "hawaii" and "dungeon" from
resources/lang/ko.json (or restore the file to its previous state) and instead
add or update those keys only in resources/lang/en.json; ensure the PR contains
changes to en.json only and leave other locale files untouched so translation
sync/Crowdin can propagate them later.

Comment thread resources/lang/mk.json
Comment on lines +181 to +182
"pluto": "Плутон",
"dungeon": "Подземје"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Keep non-English locale updates out of regular feature PRs.

Line 181 and Line 182 modify resources/lang/mk.json; per project workflow, only resources/lang/en.json should be edited here, and non-English locales should be updated via translation sync.

Based on learnings: “In OpenFrontIO, translation files in resources/lang/*.json (except en.json) should not be updated in regular PRs.”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@resources/lang/mk.json` around lines 181 - 182, Revert the changes to the
Macedonian locale by removing the added/modified keys ("pluto" and "dungeon")
from resources/lang/mk.json so non-English files remain untouched in this PR; if
these labels need to be changed, apply them only to resources/lang/en.json
(update the English source keys) and leave the mk.json translation updates to
the translation sync process or a dedicated translation PR.

Comment thread resources/lang/nl.json
Comment on lines +289 to +290
"amazonriver": "Amazonerivier",
"dungeon": "Kerker"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

map.dungeon key is correct, but this file should not be edited in this PR type.

Line 289 and Line 290 follow the expected key format, but updating resources/lang/nl.json in a regular feature PR conflicts with the repo’s translation process.

Based on learnings: “Only dedicated translation PRs should update non-English locale files; regular PRs should only update en.json.”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@resources/lang/nl.json` around lines 289 - 290, This PR modified non-English
locale entries ("amazonriver" and "dungeon") in resources/lang/nl.json which is
not allowed here; revert any changes to resources/lang/nl.json so it matches the
upstream translation state, ensure the new/updated map keys are only added to
resources/lang/en.json (e.g., the "map.dungeon"/"amazonriver" entries) in this
feature PR, and if translated Dutch strings are required open a dedicated
translation PR to update nl.json.

Comment thread resources/lang/pl.json
Comment on lines +200 to +201
"baikalnukewars": "Bajkał (Wojny Atomowe)",
"dungeon": "Loch"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Move this locale change to the translation pipeline PR flow.

Line 200 and Line 201 edit resources/lang/pl.json; this should be handled through the translation workflow, not directly in a normal feature PR.

Based on learnings: “Do not modify translation files other than resources/lang/en.json (translations are managed via Crowdin).”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@resources/lang/pl.json` around lines 200 - 201, Revert the direct edits to
resources/lang/pl.json for the keys "baikalnukewars" and "dungeon" (undo the
changes that added "Bajkał (Wojny Atomowe)" and "Loch") and instead add or
update the English source in resources/lang/en.json if needed, then submit the
Polish translations through the translation pipeline (Crowdin) per the
translation workflow rather than committing changes directly to
resources/lang/pl.json.

Comment thread resources/lang/pt-BR.json
Comment on lines +115 to +116
"knownworld": "Mundo Conhecido",
"dungeon": "Masmorra"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Avoid direct pt-BR locale edits in this feature PR.

Line 115 and Line 116 change resources/lang/pt-BR.json, but non-English locale content should be synced via the translation workflow instead of being manually updated here.

Based on learnings: “In OpenFrontIO, translation files in resources/lang/*.json (except en.json) should not be updated in regular PRs.”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@resources/lang/pt-BR.json` around lines 115 - 116, Revert the manual edits to
the non-English locale keys "knownworld" and "dungeon" in
resources/lang/pt-BR.json and restore the previous file state; instead make the
canonical text change in resources/lang/en.json (or the source-of-truth used by
the translation workflow) so the translation pipeline can propagate updates, or
file the appropriate translation task/PR in the translation system referencing
the "knownworld" and "dungeon" keys so pt-BR gets updated via the official
workflow.

Comment thread resources/lang/pt-PT.json
Comment on lines +169 to +170
"pluto": "Plutão",
"dungeon": "Masmorra"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Please route pt-PT translation updates through Crowdin/translation sync.

Line 169 and Line 170 modify resources/lang/pt-PT.json, which conflicts with the repository rule for regular PRs (only en.json should be updated directly).

Based on learnings: “Do not modify translation files other than resources/lang/en.json (translations are managed via Crowdin).”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@resources/lang/pt-PT.json` around lines 169 - 170, Revert the direct edits to
resources/lang/pt-PT.json (remove the added/changed keys "pluto" and "dungeon")
and do not commit translation changes outside of Crowdin; instead add or update
the source strings in resources/lang/en.json (using the same keys "pluto" and
"dungeon" if new) and submit translation updates through the Crowdin/translation
sync pipeline so pt-PT is updated by the localization workflow.

Comment thread resources/lang/ru.json
Comment on lines +372 to +373
"bajacalifornia": "Нижняя Калифорния",
"dungeon": "Подземелье"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

This RU locale edit should be moved out of the feature PR.

Line 372 and Line 373 update resources/lang/ru.json; this repo expects non-English locale changes to come from the translation management flow, not direct edits in regular PRs.

Based on learnings: “Do not modify translation files other than resources/lang/en.json (translations are managed via Crowdin).”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@resources/lang/ru.json` around lines 372 - 373, Revert the direct edits to
the Russian locale file by removing the changes to the keys "bajacalifornia" and
"dungeon" in resources/lang/ru.json (restore the prior file state) and instead
submit these translation updates via the project's translation workflow
(Crowdin) or a dedicated translation PR; keep only changes to
resources/lang/en.json in this feature branch.

Comment thread resources/lang/sh.json
Comment on lines +124 to +125
"europeclassic": "Evropa (klasika)",
"dungeon": "Tamnica"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Do not directly modify sh translations in a normal map-feature PR.

Line 124 and Line 125 edit resources/lang/sh.json; this should be handled via the project’s translation pipeline, with only en.json changed directly in regular development PRs.

Based on learnings: “Only dedicated translation PRs should update non-English locale files; regular PRs should only update en.json.”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@resources/lang/sh.json` around lines 124 - 125, The PR edits non-English
locale keys "europeclassic" and "dungeon" in resources/lang/sh.json which
violates the translation workflow; revert those changes in sh.json and instead
apply any copy/text updates to resources/lang/en.json (or create a dedicated
translation PR) so that only English is updated in this feature PR and sh.json
is left for the translation pipeline to handle.

@github-project-automation github-project-automation Bot moved this from Complete to Development in OpenFront Release Management Jun 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-closed-needs-issue PR closed by gate — see comment for next steps

Projects

Status: Development

Development

Successfully merging this pull request may close these issues.

2 participants