Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughLarge localization JSON updates across English files: many new and updated entries for items, maps, NPCs, quests, skills, effects, UI strings, and dungeon entrances; two empty skill keys removed; added one small Portuguese item entry. No code logic changes. (28 words) Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. 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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 8
🧹 Nitpick comments (1)
WeblateConverter/Json/en/stringcommon.json (1)
19395-19397: Minor: Format specifier inconsistency.The first placeholder uses
{0:2d}(no zero-padding) while all subsequent placeholders use{X:02d}(zero-padded). If this represents a year in YY format, consider using{0:02d}for consistency.Suggested fix
"s_maple_survival_ui_season_period-SurvivalContents01-KR": { - "value": "{0:2d}.{1:02d}.{2:02d} {3:02d}:{4:02d} ~ {5:02d}.{6:02d}.{7:02d} {8:02d}:{9:02d}" + "value": "{0:02d}.{1:02d}.{2:02d} {3:02d}:{4:02d} ~ {5:02d}.{6:02d}.{7:02d} {8:02d}:{9:02d}" },🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@WeblateConverter/Json/en/stringcommon.json` around lines 19395 - 19397, The format string under "s_maple_survival_ui_season_period-SurvivalContents01-KR" contains an inconsistent placeholder `{0:2d}` while all others use zero-padding; update that first placeholder to `{0:02d}` so the year (or first field) is zero-padded consistently with the rest of the placeholders in the value.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@WeblateConverter/Json/en/itemname.json`:
- Around line 136694-136738: Multiple distinct item IDs in the JSON share
identical "name" values—verify and correct whether these are intentional
duplicates or copy/paste errors: check IDs 11020309-- and 11020311-- (both "Warm
Roasted Sweet Potato (M)"), 11020310-- and 11020312-- (both "Warm Roasted Sweet
Potato (F)"), 11020409-- and 11020412-- (both "Professional Pencil (M)"), and
11020410-- and 11020413-- (both "Professional Pencil (F)"); if they should be
distinct variants, update the "name" fields to the correct variant names,
otherwise document/annotate that the duplicate names across these IDs are
intentional.
In `@WeblateConverter/Json/en/questdescription_final.json`:
- Around line 46697-46701: The desc for quest ID "30000370-Event-JP" starts with
a fragment ("$npcName:11004777$. It contained a message..."); update the
beginning of the desc field so it's a complete sentence — e.g., prepend a
subject such as "You received a letter from $npcName:11004777$." or "A letter
from $npcName:11004777$ arrived." so the full sentence reads naturally and
preserves the existing map ($map:63000072$) and second sentence ("Let's head to
$map:63000072$ and meet $npcName:11004345$.") as well as the accessibility note.
In `@WeblateConverter/Json/en/skillname.json`:
- Around line 4241-4243: The JSON contains inconsistent variants for the same
skill numeric ID 10100201 (key "10100201--" uses "Guardian's Wing" while another
variant uses "Guardian's Wings"); update the value for the "name" field in the
"10100201--" entry to exactly match the established variant ("Guardian's Wings")
and scan other keys starting with "10100201" to ensure all name strings are
identical so the UI displays a consistent skill name across variants.
In `@WeblateConverter/Json/en/stringadditionaldescription.json`:
- Around line 24940-24942: Update the tooltipDescription for the "Confusion
Powder" entry to use natural English phrasing; replace the awkward "mind falling
into a stupor!\nStunned, unable to move" with a clearer variant such as "Your
mind slips into a stupor.\nStunned and unable to move" (or "Your mind falls into
a stupor.\nStunned and unable to move") by editing the tooltipDescription value
for the "Confusion Powder" object.
In `@WeblateConverter/Json/en/stringcommon.json`:
- Around line 19404-19406: The string value for the key
s_msg_item_active_codi_tab_limitless-Skin2tab- contains an unintended trailing
space at the end of "Would you like to use the item? "; remove the trailing
space so the value becomes "Would you like to use the item?" (preserve the
newline before it if intentional), updating the JSON entry for
s_msg_item_active_codi_tab_limitless-Skin2tab- accordingly.
In `@WeblateConverter/Json/en/stringfieldenterance.json`:
- Around line 760-763: The "name" value for the object keyed by
"23037002-Kritias_Paika01-" contains a typo ("Arcaina Delphion"); change the
name field in that object from "Arcaina Delphion" to "Arcana Delphion" so it
matches the NA key and other usages (verify only the "name" property needs
updating, e.g., in the "23037002-Kritias_Paika01-" object).
- Around line 788-790: The entry with key "23045002-DungeonOpen70AH4-" uses the
incorrect proper noun "Bayar" in the "name" field ("Phantom of the Forgotten
Bayar"); change it to the consistent spelling "Vayar" so the name becomes
"Phantom of the Forgotten Vayar" to match other entries in the file.
- Around line 808-810: The JSON entry keyed "23050003-DungeonOpen70CH5-" is
missing the expected uiDescription field; add a uiDescription property alongside
the existing name (e.g., "uiDescription": "Placeholder description for Crazy
Black Bean's Playground [Normal]") so the object shape matches other 230xxxxx
dungeon entries and avoids rendering/fallback issues; update the object for key
"23050003-DungeonOpen70CH5-" to include this uiDescription string.
---
Nitpick comments:
In `@WeblateConverter/Json/en/stringcommon.json`:
- Around line 19395-19397: The format string under
"s_maple_survival_ui_season_period-SurvivalContents01-KR" contains an
inconsistent placeholder `{0:2d}` while all others use zero-padding; update that
first placeholder to `{0:02d}` so the year (or first field) is zero-padded
consistently with the rest of the placeholders in the value.
🪄 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: defaults
Review profile: CHILL
Plan: Pro
Run ID: 88b1bbc8-8535-4fc1-a4f2-84ef04a4bacd
📒 Files selected for processing (9)
WeblateConverter/Json/en/itemname.jsonWeblateConverter/Json/en/mapname.jsonWeblateConverter/Json/en/npcname.jsonWeblateConverter/Json/en/questdescription_final.jsonWeblateConverter/Json/en/skillname.jsonWeblateConverter/Json/en/stringadditionaldescription.jsonWeblateConverter/Json/en/stringcommon.jsonWeblateConverter/Json/en/stringfieldenterance.jsonWeblateConverter/Json/pt/itemname.json
| "11020309--": { | ||
| "name": "Warm Roasted Sweet Potato (M)" | ||
| }, | ||
| "11020311--": { | ||
| "name": "Warm Roasted Sweet Potato (M)" | ||
| }, | ||
| "11020310--": { | ||
| "name": "Warm Roasted Sweet Potato (F)" | ||
| }, | ||
| "11020395--": { | ||
| "name": "Cozy Cotton Puff Breath (M)" | ||
| }, | ||
| "11020406--": { | ||
| "name": "Whistle (F)" | ||
| }, | ||
| "11020312--": { | ||
| "name": "Warm Roasted Sweet Potato (F)" | ||
| }, | ||
| "11020405--": { | ||
| "name": "Whistle (M)" | ||
| }, | ||
| "11020396--": { | ||
| "name": "Cozy Cotton Puff Breath (F)" | ||
| }, | ||
| "11020408--": { | ||
| "name": "Cool Ice Candy (F)" | ||
| }, | ||
| "11020409--": { | ||
| "name": "Professional Pencil (M)" | ||
| }, | ||
| "11020407--": { | ||
| "name": "Cool Ice Candy (M)" | ||
| }, | ||
| "11020410--": { | ||
| "name": "Professional Pencil (F)" | ||
| }, | ||
| "11020411--": { | ||
| "name": "Red Celestial Mask" | ||
| }, | ||
| "11020413--": { | ||
| "name": "Professional Pencil (F)" | ||
| }, | ||
| "11020412--": { | ||
| "name": "Professional Pencil (M)" | ||
| }, |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Read-only verification: list duplicated names for the newly added ID set.
python - <<'PY'
import json
from collections import defaultdict
path = "WeblateConverter/Json/en/itemname.json"
with open(path, encoding="utf-8") as f:
data = json.load(f)
focus_ids = {
"11020309--", "11020310--", "11020311--", "11020312--",
"11020409--", "11020410--", "11020412--", "11020413--"
}
by_name = defaultdict(list)
for item_id, payload in data.items():
name = payload.get("name")
if name:
by_name[name].append(item_id)
for name, ids in sorted(by_name.items()):
overlap = sorted(set(ids) & focus_ids)
if len(overlap) > 1:
print(f"{name}: {overlap}")
PYRepository: MS2Community/MapleStory2-XML
Length of output: 299
Duplicated item names found across distinct IDs—clarification needed.
Lines 136694–136738 contain four item names assigned to multiple IDs each:
- Warm Roasted Sweet Potato (M): IDs 11020309-- and 11020311--
- Warm Roasted Sweet Potato (F): IDs 11020310-- and 11020312--
- Professional Pencil (M): IDs 11020409-- and 11020412--
- Professional Pencil (F): IDs 11020410-- and 11020413--
Verify whether these IDs represent intentionally distinct variants that share the same name, or if this is a copy/paste error requiring different naming per ID.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/itemname.json` around lines 136694 - 136738,
Multiple distinct item IDs in the JSON share identical "name" values—verify and
correct whether these are intentional duplicates or copy/paste errors: check IDs
11020309-- and 11020311-- (both "Warm Roasted Sweet Potato (M)"), 11020310-- and
11020312-- (both "Warm Roasted Sweet Potato (F)"), 11020409-- and 11020412--
(both "Professional Pencil (M)"), and 11020410-- and 11020413-- (both
"Professional Pencil (F)"); if they should be distinct variants, update the
"name" fields to the correct variant names, otherwise document/annotate that the
duplicate names across these IDs are intentional.
| "10100201--": { | ||
| "name": "Guardian's Wing" | ||
| }, |
There was a problem hiding this comment.
Keep duplicate skill variants text-consistent for the same skill ID.
Line 4242 ("Guardian's Wing") conflicts with the existing variant for the same numeric ID ("Guardian's Wings" at Line 2739). Please align the wording to avoid inconsistent UI text depending on key variant.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/skillname.json` around lines 4241 - 4243, The JSON
contains inconsistent variants for the same skill numeric ID 10100201 (key
"10100201--" uses "Guardian's Wing" while another variant uses "Guardian's
Wings"); update the value for the "name" field in the "10100201--" entry to
exactly match the established variant ("Guardian's Wings") and scan other keys
starting with "10100201" to ensure all name strings are identical so the UI
displays a consistent skill name across variants.
| "name": "Confusion Powder", | ||
| "tooltipDescription": "Inhaled a strange powder, mind falling into a stupor!\nStunned, unable to move" | ||
| }, |
There was a problem hiding this comment.
Polish awkward English phrasing in tooltip text.
"mind falling into a stupor" reads unnatural in English. Consider a clearer phrasing for localization quality consistency.
✏️ Suggested wording update
"40006011--": {
"name": "Confusion Powder",
- "tooltipDescription": "Inhaled a strange powder, mind falling into a stupor!\nStunned, unable to move"
+ "tooltipDescription": "Inhaled a strange powder and fell into a stupor!\nStunned, unable to move"
},🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/stringadditionaldescription.json` around lines 24940
- 24942, Update the tooltipDescription for the "Confusion Powder" entry to use
natural English phrasing; replace the awkward "mind falling into a
stupor!\nStunned, unable to move" with a clearer variant such as "Your mind
slips into a stupor.\nStunned and unable to move" (or "Your mind falls into a
stupor.\nStunned and unable to move") by editing the tooltipDescription value
for the "Confusion Powder" object.
| "23037002-Kritias_Paika01-": { | ||
| "name": "Arcaina Delphion", | ||
| "uiDescription": "<font color='#FFD400'>* Item Score Guide</font>\n<font color='#00aaef'>Weapon, Top, Bottom</font>: Level 70 <font color='#c888ff'>Excellent</font> Elite Adventure Equipment Enchant Level 10\n<font color='#00aaef'>Hat, Gloves, Shoes</font>: Level 70 <font color='#c888ff'>Excellent</font> Enchant Level 10\n<font color='#00aaef'>Earrings, Cape, Necklace, Ring, Belt</font>: Level 60 <font color='#c888ff'>Excellent</font>\n\nZakum, the demon tree said to grant immense power to those who offer their souls. Movement to summon him in Kritias has been detected. $npcName:11004430$ seeks to gain power at the cost of $npcName:23000301$'s soul. Can $npcName:23000301$ be stopped to foil $npcName:11004430$'s ambitions?\n\n<font color='#00aaef'>The number of revives at safe locations is limited.</font>\n\n<font color='#FFD400'>[4-player party recommended]</font>" | ||
| }, |
There was a problem hiding this comment.
Fix probable typo in dungeon name.
Line 761 uses Arcaina Delphion; this is inconsistent with Arcana Delphion used in the corresponding NA key.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/stringfieldenterance.json` around lines 760 - 763,
The "name" value for the object keyed by "23037002-Kritias_Paika01-" contains a
typo ("Arcaina Delphion"); change the name field in that object from "Arcaina
Delphion" to "Arcana Delphion" so it matches the NA key and other usages (verify
only the "name" property needs updating, e.g., in the
"23037002-Kritias_Paika01-" object).
There was a problem hiding this comment.
Actionable comments posted: 4
♻️ Duplicate comments (1)
WeblateConverter/Json/en/skillname.json (1)
4241-4243:⚠️ Potential issue | 🟡 MinorResolve remaining
Guardian's Wing/Guardian's Wingsmismatch.Line 4242 still conflicts with Line 2739 for the same numeric skill ID (
10100201), which can surface inconsistent UI text by key variant.Proposed fix
"10100201--": { - "name": "Guardian's Wing" + "name": "Guardian's Wings" },🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@WeblateConverter/Json/en/skillname.json` around lines 4241 - 4243, There is a naming inconsistency for skill ID 10100201: the entry with key "10100201--" currently has "name": "Guardian's Wing" which conflicts with the other variant for the same numeric ID (10100201) that uses "Guardian's Wings"; update the file so both entries use the same exact name and remove or merge duplicate key variants (ensure the key format for 10100201 matches the project convention and only one entry exists), i.e., pick the correct string ("Guardian's Wing" or "Guardian's Wings"), replace all occurrences of that numeric ID's name to the chosen form, and consolidate the keys so the JSON contains a single canonical entry for 10100201.
🧹 Nitpick comments (1)
WeblateConverter/Json/en/stringcommon.json (1)
19515-19517: Note: Typo "enterance" in key name.The key
s_home_block_err_enterance_block--contains a typo—should be "entrance". However, since this key must match the source XML, fixing it here alone would break the mapping. This should be addressed upstream in the source data if consistency is desired.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@WeblateConverter/Json/en/stringcommon.json` around lines 19515 - 19517, The JSON key s_home_block_err_enterance_block-- contains a typo ("enterance"); fix it in the upstream source XML (rename the source key to s_home_block_err_entrance_block--) and then regenerate the localization outputs so all mappings (including the JSON entry) update consistently; if you cannot change the upstream source immediately, add a fallback alias in the source generation step that maps s_home_block_err_entrance_block-- to the same value as s_home_block_err_enterance_block-- and plan a follow-up to remove the alias after the upstream correction.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@WeblateConverter/Json/en/itemname.json`:
- Around line 137075-137119: Several earring records have inconsistent casing
for the class value; update the entries for keys "11220113--", "11220114--",
"11220125--", and "11220126--" so that their "class" field is normalized to the
same lowercase value used elsewhere ("earring") to prevent downstream
misclassification; locate the objects with those keys and change "Earring" to
"earring".
In `@WeblateConverter/Json/en/skillname.json`:
- Around line 4721-4723: The skill name value for key "10600291--" currently
reads "Booby Trap MK2" and should be normalized to the established spacing
convention "Booby Trap MK 2"; update the value string for the JSON entry with
key "10600291--" to "Booby Trap MK 2" so it matches the other variant (e.g.,
"Booby Trap MK 2" at the other entry).
- Around line 4415-4426: The entries for skill IDs "10300234--", "10300236--",
"10300235--", and "10300233--" use the non-canonical name "BBQ Party"; change
each "name" value to the canonical "Barbecue Party" to match other variants
(e.g., the existing "1030023x" family entries) so localization is consistent
across all variants.
In `@WeblateConverter/Json/en/stringcommon.json`:
- Around line 19660-19661: The JSON entry with key
"s_character_ability_merat_reset_button-CharacterAbility-" contains an
unintended leading space in its "value" (" Reset"); remove the leading space so
the value is "Reset" to match the other reset string (e.g., the entry on line
19657) and keep UI text consistent.
---
Duplicate comments:
In `@WeblateConverter/Json/en/skillname.json`:
- Around line 4241-4243: There is a naming inconsistency for skill ID 10100201:
the entry with key "10100201--" currently has "name": "Guardian's Wing" which
conflicts with the other variant for the same numeric ID (10100201) that uses
"Guardian's Wings"; update the file so both entries use the same exact name and
remove or merge duplicate key variants (ensure the key format for 10100201
matches the project convention and only one entry exists), i.e., pick the
correct string ("Guardian's Wing" or "Guardian's Wings"), replace all
occurrences of that numeric ID's name to the chosen form, and consolidate the
keys so the JSON contains a single canonical entry for 10100201.
---
Nitpick comments:
In `@WeblateConverter/Json/en/stringcommon.json`:
- Around line 19515-19517: The JSON key s_home_block_err_enterance_block--
contains a typo ("enterance"); fix it in the upstream source XML (rename the
source key to s_home_block_err_entrance_block--) and then regenerate the
localization outputs so all mappings (including the JSON entry) update
consistently; if you cannot change the upstream source immediately, add a
fallback alias in the source generation step that maps
s_home_block_err_entrance_block-- to the same value as
s_home_block_err_enterance_block-- and plan a follow-up to remove the alias
after the upstream correction.
🪄 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: defaults
Review profile: CHILL
Plan: Pro
Run ID: 4a9986cc-661d-402c-9997-e731227fbb2e
📒 Files selected for processing (8)
WeblateConverter/Json/en/itemname.jsonWeblateConverter/Json/en/mapname.jsonWeblateConverter/Json/en/npcname.jsonWeblateConverter/Json/en/questdescription_final.jsonWeblateConverter/Json/en/skillname.jsonWeblateConverter/Json/en/stringadditionaldescription.jsonWeblateConverter/Json/en/stringcommon.jsonWeblateConverter/Json/en/stringfieldenterance.json
✅ Files skipped from review due to trivial changes (2)
- WeblateConverter/Json/en/npcname.json
- WeblateConverter/Json/en/stringfieldenterance.json
🚧 Files skipped from review as they are similar to previous changes (3)
- WeblateConverter/Json/en/questdescription_final.json
- WeblateConverter/Json/en/stringadditionaldescription.json
- WeblateConverter/Json/en/mapname.json
| "11220113--": { | ||
| "class": "Earring", | ||
| "name": "Charming Star Earring (M)" | ||
| }, | ||
| "11220112--": { | ||
| "name": "Happy Christmas Gift Box Earring (F)" | ||
| }, | ||
| "11220110--": { | ||
| "name": "Milky Way Starlight Earring (F)" | ||
| }, | ||
| "11220111--": { | ||
| "name": "Happy Christmas Gift Box Earring (M)" | ||
| }, | ||
| "11220109--": { | ||
| "name": "Milky Way Starlight Earring (M)" | ||
| }, | ||
| "11220114--": { | ||
| "name": "Charming Star Earring (F)", | ||
| "class": "Earring" | ||
| }, | ||
| "11220120--": { | ||
| "name": "Charming Star Earring (F)" | ||
| }, | ||
| "11220119--": { | ||
| "name": "Charming Star Earring (M)" | ||
| }, | ||
| "11220122--": { | ||
| "name": "Frozen Crystal Earring (F)" | ||
| }, | ||
| "11220123--": { | ||
| "name": "Snow Tail Earring (M)" | ||
| }, | ||
| "11220121--": { | ||
| "name": "Frozen Crystal Earring (M)" | ||
| }, | ||
| "11220124--": { | ||
| "name": "Snow Tail Earring (F)" | ||
| }, | ||
| "11220125--": { | ||
| "class": "Earring", | ||
| "name": "Sunflower Earring (M)" | ||
| }, | ||
| "11220126--": { | ||
| "class": "Earring", | ||
| "name": "Sunflower Earring (F)" |
There was a problem hiding this comment.
Normalize class value casing for earring entries.
Line 137076, Line 137093, Line 137114, and Line 137118 use "class": "Earring" while surrounding records use "class": "earring". If classification is case-sensitive downstream, these entries can be miscategorized.
Proposed fix
- "class": "Earring",
+ "class": "earring",
...
- "class": "Earring"
+ "class": "earring"
...
- "class": "Earring",
+ "class": "earring",
...
- "class": "Earring",
+ "class": "earring",📝 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.
| "11220113--": { | |
| "class": "Earring", | |
| "name": "Charming Star Earring (M)" | |
| }, | |
| "11220112--": { | |
| "name": "Happy Christmas Gift Box Earring (F)" | |
| }, | |
| "11220110--": { | |
| "name": "Milky Way Starlight Earring (F)" | |
| }, | |
| "11220111--": { | |
| "name": "Happy Christmas Gift Box Earring (M)" | |
| }, | |
| "11220109--": { | |
| "name": "Milky Way Starlight Earring (M)" | |
| }, | |
| "11220114--": { | |
| "name": "Charming Star Earring (F)", | |
| "class": "Earring" | |
| }, | |
| "11220120--": { | |
| "name": "Charming Star Earring (F)" | |
| }, | |
| "11220119--": { | |
| "name": "Charming Star Earring (M)" | |
| }, | |
| "11220122--": { | |
| "name": "Frozen Crystal Earring (F)" | |
| }, | |
| "11220123--": { | |
| "name": "Snow Tail Earring (M)" | |
| }, | |
| "11220121--": { | |
| "name": "Frozen Crystal Earring (M)" | |
| }, | |
| "11220124--": { | |
| "name": "Snow Tail Earring (F)" | |
| }, | |
| "11220125--": { | |
| "class": "Earring", | |
| "name": "Sunflower Earring (M)" | |
| }, | |
| "11220126--": { | |
| "class": "Earring", | |
| "name": "Sunflower Earring (F)" | |
| "11220113--": { | |
| "class": "earring", | |
| "name": "Charming Star Earring (M)" | |
| }, | |
| "11220112--": { | |
| "name": "Happy Christmas Gift Box Earring (F)" | |
| }, | |
| "11220110--": { | |
| "name": "Milky Way Starlight Earring (F)" | |
| }, | |
| "11220111--": { | |
| "name": "Happy Christmas Gift Box Earring (M)" | |
| }, | |
| "11220109--": { | |
| "name": "Milky Way Starlight Earring (M)" | |
| }, | |
| "11220114--": { | |
| "name": "Happy Christmas Gift Box Earring (M)", | |
| "class": "earring" | |
| }, | |
| "11220120--": { | |
| "name": "Charming Star Earring (F)" | |
| }, | |
| "11220119--": { | |
| "name": "Charming Star Earring (M)" | |
| }, | |
| "11220122--": { | |
| "name": "Frozen Crystal Earring (F)" | |
| }, | |
| "11220123--": { | |
| "name": "Snow Tail Earring (M)" | |
| }, | |
| "11220121--": { | |
| "name": "Frozen Crystal Earring (M)" | |
| }, | |
| "11220124--": { | |
| "name": "Snow Tail Earring (F)" | |
| }, | |
| "11220125--": { | |
| "class": "earring", | |
| "name": "Sunflower Earring (M)" | |
| }, | |
| "11220126--": { | |
| "class": "earring", | |
| "name": "Sunflower Earring (F)" |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/itemname.json` around lines 137075 - 137119, Several
earring records have inconsistent casing for the class value; update the entries
for keys "11220113--", "11220114--", "11220125--", and "11220126--" so that
their "class" field is normalized to the same lowercase value used elsewhere
("earring") to prevent downstream misclassification; locate the objects with
those keys and change "Earring" to "earring".
| "10300234--": { | ||
| "name": "BBQ Party" | ||
| }, | ||
| "10300236--": { | ||
| "name": "BBQ Party" | ||
| }, | ||
| "10300235--": { | ||
| "name": "BBQ Party" | ||
| }, | ||
| "10300233--": { | ||
| "name": "BBQ Party" | ||
| }, |
There was a problem hiding this comment.
Use one canonical name for the 1030023x variants.
Lines 4416-4425 use BBQ Party, while existing variants for the same skill family use Barbecue Party (e.g., Line 3372+), creating inconsistent localization output.
Proposed fix
"10300234--": {
- "name": "BBQ Party"
+ "name": "Barbecue Party"
},
"10300236--": {
- "name": "BBQ Party"
+ "name": "Barbecue Party"
},
"10300235--": {
- "name": "BBQ Party"
+ "name": "Barbecue Party"
},
"10300233--": {
- "name": "BBQ Party"
+ "name": "Barbecue Party"
},📝 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.
| "10300234--": { | |
| "name": "BBQ Party" | |
| }, | |
| "10300236--": { | |
| "name": "BBQ Party" | |
| }, | |
| "10300235--": { | |
| "name": "BBQ Party" | |
| }, | |
| "10300233--": { | |
| "name": "BBQ Party" | |
| }, | |
| "10300234--": { | |
| "name": "Barbecue Party" | |
| }, | |
| "10300236--": { | |
| "name": "Barbecue Party" | |
| }, | |
| "10300235--": { | |
| "name": "Barbecue Party" | |
| }, | |
| "10300233--": { | |
| "name": "Barbecue Party" | |
| }, |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/skillname.json` around lines 4415 - 4426, The
entries for skill IDs "10300234--", "10300236--", "10300235--", and "10300233--"
use the non-canonical name "BBQ Party"; change each "name" value to the
canonical "Barbecue Party" to match other variants (e.g., the existing
"1030023x" family entries) so localization is consistent across all variants.
| "10600291--": { | ||
| "name": "Booby Trap MK2" | ||
| }, |
There was a problem hiding this comment.
Normalize MK2 formatting to existing MK 2 style.
Line 4722 (Booby Trap MK2) is inconsistent with the established variant (Booby Trap MK 2 at Line 3768).
Proposed fix
"10600291--": {
- "name": "Booby Trap MK2"
+ "name": "Booby Trap MK 2"
},📝 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.
| "10600291--": { | |
| "name": "Booby Trap MK2" | |
| }, | |
| "10600291--": { | |
| "name": "Booby Trap MK 2" | |
| }, |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/skillname.json` around lines 4721 - 4723, The skill
name value for key "10600291--" currently reads "Booby Trap MK2" and should be
normalized to the established spacing convention "Booby Trap MK 2"; update the
value string for the JSON entry with key "10600291--" to "Booby Trap MK 2" so it
matches the other variant (e.g., "Booby Trap MK 2" at the other entry).
There was a problem hiding this comment.
Actionable comments posted: 4
♻️ Duplicate comments (3)
WeblateConverter/Json/en/questdescription_final.json (1)
46706-46710:⚠️ Potential issue | 🟡 MinorComplete the opening sentence in this quest description.
Line 46709 still starts as a fragment (
"$npcName:11004777$. It contained..."), so the description reads unnaturally in-game.📝 Proposed text fix
- "desc": "$npcName:11004777$. It contained a message asking you to help $npcName:11004345$—a girl facing the greatest crisis of her 16 years of life—at $map:63000072$.\nLet's head to $map:63000072$ and meet $npcName:11004345$.\n\n* Accessible via the Event Map Shortcut button" + "desc": "You received a letter from $npcName:11004777$. It contained a message asking you to help $npcName:11004345$—a girl facing the greatest crisis of her 16 years of life—at $map:63000072$.\nLet's head to $map:63000072$ and meet $npcName:11004345$.\n\n* Accessible via the Event Map Shortcut button"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@WeblateConverter/Json/en/questdescription_final.json` around lines 46706 - 46710, The "desc" value for quest id "30000370-Event-JP" begins with a sentence fragment ("$npcName:11004777$. It contained..."); update the opening to a complete sentence inside the "desc" string—for example, start with "You found a letter from $npcName:11004777$." or "A note from $npcName:11004777$ was inside."—so the full "desc" reads naturally (locate the "desc" field for 30000370-Event-JP and replace the fragment with a complete opening sentence).WeblateConverter/Json/en/stringcommon.json (2)
19404-19405:⚠️ Potential issue | 🟡 MinorRemove trailing space in Skin2tab confirmation text.
Line 19405 ends with an extra trailing space after
item?, which is likely unintentional.Suggested fix
"s_msg_item_active_codi_tab_limitless-Skin2tab-": { - "value": "You can use this costume item without limit.\nWould you like to use the item? " + "value": "You can use this costume item without limit.\nWould you like to use the item?" },🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@WeblateConverter/Json/en/stringcommon.json` around lines 19404 - 19405, The string value for key "s_msg_item_active_codi_tab_limitless-Skin2tab-" contains an unintended trailing space after the question mark; edit the JSON entry for that key and remove the final space so the value ends with "Would you like to use the item?" (keep the existing newline if intended).
19660-19661:⚠️ Potential issue | 🟡 MinorRemove unintended leading space in reset button label.
Line 19661 uses
" Reset"while Line 19658 uses"Reset", causing inconsistent UI copy.Suggested fix
"s_character_ability_merat_reset_button-CharacterAbility-": { - "value": " Reset" + "value": "Reset" },🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@WeblateConverter/Json/en/stringcommon.json` around lines 19660 - 19661, The JSON entry for the key "s_character_ability_merat_reset_button-CharacterAbility-" contains an unintended leading space in its value (" Reset"); remove the leading whitespace so the value is exactly "Reset" to match the other instance and ensure consistent UI copy.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@WeblateConverter/Json/en/questdescription_final.json`:
- Around line 46788-46790: The "manual" entry in this JSON has a mismatched
simulator name: change the value of the "manual" key from "[Neilin's Battle
Simulator]" to "[Nairin's Combat Simulator]" so it matches the "desc" and the
canonical label used elsewhere; update the "manual" string (the JSON key
"manual") accordingly to exactly "Fortress Rumble,\n[Nairin's Combat
Simulator]\nClear".
In `@WeblateConverter/Json/en/stringfieldenterance.json`:
- Around line 840-842: The entry "24096001-Colosseum02-" and other similar alias
entries use variant spellings (e.g., "Queenbean" vs "Queen Bean", "Frostbite" vs
"Frostpillar", "Infernok" vs "Infernog", "Madracan" vs "Madrakan", "Otherworld"
vs "Other World", "Trris" vs "Tris"); update the displayed "name" values to
match the established canonical dungeon titles used elsewhere (e.g., "Queen
Bean", "Frostpillar", "Infernog", "Madrakan", "Other World", "Tris") while
leaving the alias keys/strings verbatim so search, sorting, and UI labels remain
unchanged; check the other referenced entries (lines noted in the comment) and
make the same substitutions in the corresponding "name" fields for consistency.
- Around line 1131-1136: Several Japanese entries (e.g., object keys
"21018001--JP", "21016001-ShrineOfGuidance-JP", "21019001--JP" and the Fame
Challenge JP entries) only define uiDescription and are missing the required
localized "name" property; add a "name" field to each of these JP objects
(matching the pattern used for other locales) with the appropriate Japanese
title string (or a placeholder localized title) so these records serialize with
a proper localized title. Ensure you add the "name" key inside each object
alongside "uiDescription" for the keys mentioned and any other JP entries in the
same block that currently lack "name".
- Around line 744-746: The uiDescription entries like
"23044002-DungeonOpen70AH3-" reference dungeonRoomIDs that are missing from the
dungeon table; add matching <dungeonRoom id="23044002">, <dungeonRoom
id="23110001"> and <dungeonRoom id="29007001"> definitions to
Xml/dungeonroom.xml (and any additional missing IDs referenced by similar keys
such as the ones around the other noted entries) so the uiDescription records
become reachable; ensure the new dungeonRoom entries use the same IDs as the
JSON keys (e.g., 23044002) and include the required attributes/children expected
by the game’s dungeon lookup code.
---
Duplicate comments:
In `@WeblateConverter/Json/en/questdescription_final.json`:
- Around line 46706-46710: The "desc" value for quest id "30000370-Event-JP"
begins with a sentence fragment ("$npcName:11004777$. It contained..."); update
the opening to a complete sentence inside the "desc" string—for example, start
with "You found a letter from $npcName:11004777$." or "A note from
$npcName:11004777$ was inside."—so the full "desc" reads naturally (locate the
"desc" field for 30000370-Event-JP and replace the fragment with a complete
opening sentence).
In `@WeblateConverter/Json/en/stringcommon.json`:
- Around line 19404-19405: The string value for key
"s_msg_item_active_codi_tab_limitless-Skin2tab-" contains an unintended trailing
space after the question mark; edit the JSON entry for that key and remove the
final space so the value ends with "Would you like to use the item?" (keep the
existing newline if intended).
- Around line 19660-19661: The JSON entry for the key
"s_character_ability_merat_reset_button-CharacterAbility-" contains an
unintended leading space in its value (" Reset"); remove the leading whitespace
so the value is exactly "Reset" to match the other instance and ensure
consistent UI copy.
🪄 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: defaults
Review profile: CHILL
Plan: Pro
Run ID: de330f0a-afd7-41c5-b444-2bbdf416d5c5
📒 Files selected for processing (8)
WeblateConverter/Json/en/itemname.jsonWeblateConverter/Json/en/mapname.jsonWeblateConverter/Json/en/npcname.jsonWeblateConverter/Json/en/questdescription_final.jsonWeblateConverter/Json/en/skillname.jsonWeblateConverter/Json/en/stringadditionaldescription.jsonWeblateConverter/Json/en/stringcommon.jsonWeblateConverter/Json/en/stringfieldenterance.json
✅ Files skipped from review due to trivial changes (2)
- WeblateConverter/Json/en/itemname.json
- WeblateConverter/Json/en/stringadditionaldescription.json
🚧 Files skipped from review as they are similar to previous changes (1)
- WeblateConverter/Json/en/npcname.json
| "desc": "<font color=\"#00a2ed\">Fortress Rumble Mission</font>\nFor the perfect combat simulation,\nyour battle data is required.\n\nIn Fortress Rumble, you can participate in $npcName:11003585$'s virtual combat training\nat [Nairin's Combat Simulator].\n", | ||
| "descFameUI": "<font color=\"#00a2ed\">Fortress Rumble Mission</font>\nFor the perfect combat simulation, your battle data is required.", | ||
| "manual": "Fortress Rumble,\n[Neilin's Battle Simulator]\nClear", |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Check how this NPC/simulator is named across English localization files.
rg -n --type=json -C2 '11003585|Nairin|Neilin|Combat Simulator|Battle Simulator'Repository: MS2Community/MapleStory2-XML
Length of output: 50385
🏁 Script executed:
#!/bin/bash
# Extract the specific quest entry around lines 46788-46790
sed -n '46786,46792p' WeblateConverter/Json/en/questdescription_final.jsonRepository: MS2Community/MapleStory2-XML
Length of output: 709
Normalize simulator name in quest manual: use "Nairin's Combat Simulator".
Line 46788 (desc) correctly says [Nairin's Combat Simulator], but line 46790 (manual) incorrectly says [Neilin's Battle Simulator]. Across the codebase, the canonical English label is consistently "Nairin's Combat Simulator" (used in mapname.json, stringfieldenterance.json, and other quest entries). Change the manual field to match.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/questdescription_final.json` around lines 46788 -
46790, The "manual" entry in this JSON has a mismatched simulator name: change
the value of the "manual" key from "[Neilin's Battle Simulator]" to "[Nairin's
Combat Simulator]" so it matches the "desc" and the canonical label used
elsewhere; update the "manual" string (the JSON key "manual") accordingly to
exactly "Fortress Rumble,\n[Nairin's Combat Simulator]\nClear".
| "23044002-DungeonOpen70AH3-": { | ||
| "name": "Tronix Bunker of Illusion" | ||
| "name": "Tronix Bunker of Illusion", | ||
| "uiDescription": "<font color='#FFD400'>* Item Score Guide</font>\n<font color='#00aaef'>Weapon, Top, Bottom, Hat, Gloves, Shoes</font>: Level 70 <font color='#ffd533'>Legendary</font> Enchant Level 13\n<font color='#00aaef'>Earrings, Cape, Necklace, Ring, Belt</font>: Level 70 <font color='#ffd533'>Legendary</font>\n\nThe phantom of <font color='#00aaef'>$npc:23000056$</font>, a robot turned monster as a result of the Mark 52 Project's failure, waits ferociously in $map:02000522$ for something to destroy.\n\n<font color='#00aaef'>The number of revives at safe locations is limited.</font>\n\n<font color='#FFD400'>[4-player party recommended]</font>" |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python - <<'PY'
from pathlib import Path
ids = ["23044002", "23110001", "29007001"]
matches = {i: [] for i in ids}
for path in Path("Xml").rglob("dungeonroom.xml"):
text = path.read_text(encoding="utf-8", errors="ignore")
for i in ids:
if f'dungeonRoomID="{i}"' in text:
matches[i].append(str(path))
for i in ids:
print(f"{i}: {matches[i] or 'MISSING'}")
PYRepository: MS2Community/MapleStory2-XML
Length of output: 125
Add matching dungeonRoomID definitions to Xml/dungeonroom.xml before these entries can be used in-game.
23044002, 23110001, and 29007001 have no corresponding dungeonRoomID entries in the dungeon table. Without these definitions, the associated uiDescription records are unreachable.
Also applies to lines 848-850, 876-878.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/stringfieldenterance.json` around lines 744 - 746,
The uiDescription entries like "23044002-DungeonOpen70AH3-" reference
dungeonRoomIDs that are missing from the dungeon table; add matching
<dungeonRoom id="23044002">, <dungeonRoom id="23110001"> and <dungeonRoom
id="29007001"> definitions to Xml/dungeonroom.xml (and any additional missing
IDs referenced by similar keys such as the ones around the other noted entries)
so the uiDescription records become reachable; ensure the new dungeonRoom
entries use the same IDs as the JSON keys (e.g., 23044002) and include the
required attributes/children expected by the game’s dungeon lookup code.
There was a problem hiding this comment.
Actionable comments posted: 3
♻️ Duplicate comments (1)
WeblateConverter/Json/en/stringcommon.json (1)
19404-19406:⚠️ Potential issue | 🟡 MinorTrim the leftover whitespace from these UI strings.
Lines 19405 and 19661 still have trailing/leading spaces. Those will leak into the rendered prompt/button text.
Suggested fix
"s_msg_item_active_codi_tab_limitless-Skin2tab-": { - "value": "You can use this costume item without limit.\nWould you like to use the item? " + "value": "You can use this costume item without limit.\nWould you like to use the item?" }, ... "s_character_ability_merat_reset_button-CharacterAbility-": { - "value": " Reset" + "value": "Reset" }Also applies to: 19660-19661
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@WeblateConverter/Json/en/stringcommon.json` around lines 19404 - 19406, The JSON UI string values contain stray leading/trailing whitespace that will render in the UI; locate the key "s_msg_item_active_codi_tab_limitless-Skin2tab-" (and the other similar key around the same block) and remove any leading or trailing spaces/newlines from the "value" strings so they end exactly with the intended text (e.g., remove the trailing space after the question mark and any extra line breaks).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@WeblateConverter/Json/en/skillname.json`:
- Around line 5195-5197: The entry with key "11100031--" has a typo in the name
value "Focusing Animarl"; update that value to the correct term (e.g., "Focusing
Anima") so it matches the naming style used by the related Soul Binder skill
"Animus Focus" (key "11100031-SoulBinder-"); simply replace the string for the
"name" field under "11100031--" with "Focusing Anima".
In `@WeblateConverter/Json/en/stringcommon.json`:
- Around line 19917-19924: The two JSON entries
s_longtermattendgift_dialog_desc-- and s_longtermattendgift_dialog_desc--CN
contain malformed markup ending with an extra dangling '<' after the closing
FONT tags; remove the trailing '<' character from the end of each "value" string
so the markup ends with "</FONT>" and the JSON values remain well-formed and
render correctly.
- Around line 19808-19818: The metadata keys in the JSON entries
s_alliance_quest_completion_ticket_use-FameCompletionTicket-,
s_alliance_quest_completion_ticket_lack-FameCompletionTicket-, and
s_alliance_quest_completion_ticket_error-FameCompletionTicket- are misspelled as
"commend"; update those keys to "comment" so the metadata schema matches
surrounding records (leave the "value" strings unchanged). Locate each object by
the exact key name and rename the "commend" property to "comment" for
consistency.
---
Duplicate comments:
In `@WeblateConverter/Json/en/stringcommon.json`:
- Around line 19404-19406: The JSON UI string values contain stray
leading/trailing whitespace that will render in the UI; locate the key
"s_msg_item_active_codi_tab_limitless-Skin2tab-" (and the other similar key
around the same block) and remove any leading or trailing spaces/newlines from
the "value" strings so they end exactly with the intended text (e.g., remove the
trailing space after the question mark and any extra line breaks).
🪄 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: defaults
Review profile: CHILL
Plan: Pro
Run ID: e03b6a99-f649-4113-b40e-76c74fb36a87
📒 Files selected for processing (7)
WeblateConverter/Json/en/itemname.jsonWeblateConverter/Json/en/npcname.jsonWeblateConverter/Json/en/questdescription_final.jsonWeblateConverter/Json/en/skillname.jsonWeblateConverter/Json/en/stringadditionaldescription.jsonWeblateConverter/Json/en/stringcommon.jsonWeblateConverter/Json/en/stringfieldenterance.json
✅ Files skipped from review due to trivial changes (1)
- WeblateConverter/Json/en/itemname.json
🚧 Files skipped from review as they are similar to previous changes (2)
- WeblateConverter/Json/en/npcname.json
- WeblateConverter/Json/en/stringadditionaldescription.json
| "11100031--": { | ||
| "name": "Focusing Animarl" | ||
| }, |
There was a problem hiding this comment.
Typo: "Animarl" should likely be "Anima" or "Animal".
"Focusing Animarl" contains an invalid word. Based on the existing Soul Binder skill "Animus Focus" at Line 2970 (key "11100031-SoulBinder-"), this should probably be "Focusing Anima" or similar.
✏️ Proposed fix
"11100031--": {
- "name": "Focusing Animarl"
+ "name": "Focusing Anima"
},📝 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.
| "11100031--": { | |
| "name": "Focusing Animarl" | |
| }, | |
| "11100031--": { | |
| "name": "Focusing Anima" | |
| }, |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/skillname.json` around lines 5195 - 5197, The entry
with key "11100031--" has a typo in the name value "Focusing Animarl"; update
that value to the correct term (e.g., "Focusing Anima") so it matches the naming
style used by the related Soul Binder skill "Animus Focus" (key
"11100031-SoulBinder-"); simply replace the string for the "name" field under
"11100031--" with "Focusing Anima".
There was a problem hiding this comment.
Actionable comments posted: 9
♻️ Duplicate comments (4)
WeblateConverter/Json/en/skillname.json (4)
4721-4723:⚠️ Potential issue | 🟡 MinorMatch the established
MK 2spacing.
10600291--uses"Booby Trap MK2", while the matching variant above is"Booby Trap MK 2". This will render the same skill with two different names.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@WeblateConverter/Json/en/skillname.json` around lines 4721 - 4723, Update the inconsistent skill name for the entry with key "10600291--": change the value of "name" from "Booby Trap MK2" to "Booby Trap MK 2" so it matches the established spacing used by the matching variant above and prevents duplicate renderings.
4241-4243:⚠️ Potential issue | 🟡 MinorKeep the
10100201variants text-identical.
10100201--is"Guardian's Wing", but the existing10100201-JobChange_01-entry above is"Guardian's Wings". One skill ID should not flip between singular and plural names.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@WeblateConverter/Json/en/skillname.json` around lines 4241 - 4243, Two entries for the same base skill ID differ in plurality: the key "10100201--" has name "Guardian's Wing" while "10100201-JobChange_01-" is "Guardian's Wings"; make them text-identical by updating one to match the other (choose the correct canonical form) so both "10100201--" and "10100201-JobChange_01-" use the same name string.
5195-5197:⚠️ Potential issue | 🟡 MinorFix the typo in the Soul Binder alias.
Animarlis not a valid term, and it diverges from the existing11100031terminology in this file. Please correct it before importing the string.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@WeblateConverter/Json/en/skillname.json` around lines 5195 - 5197, Update the name value for the JSON entry with key "11100031--": correct the typo "Focusing Animarl" to "Focusing Animal" in the "name" field for the "11100031--" object so it matches the existing terminology.
4409-4426:⚠️ Potential issue | 🟡 MinorNormalize the
1030023xfamily to one canonical name.
10300231--and10300232--already use"Barbecue Party", but10300233--through10300236--switch to"BBQ Party". Keep a single label for this skill family.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@WeblateConverter/Json/en/skillname.json` around lines 4409 - 4426, Multiple entries in the 1030023x family use two different labels; normalize all entries with IDs "10300231--" through "10300236--" to a single canonical name (use "Barbecue Party" to match 10300231-- and 10300232--) so that "10300233--", "10300234--", "10300235--", and "10300236--" are updated from "BBQ Party" to "Barbecue Party"; ensure the change is applied consistently in the JSON for that entire skill family.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@WeblateConverter/Json/en/npcname.json`:
- Around line 23531-23536: The two entries with keys
"21401190-DungeonOpen70CH6-" and "21401191-DungeonOpen70CH6-" use the misspelled
name "Deborak Junior"; update their "name" values to the existing spelling
"Devorak Junior" so they match other entries like "Junior Devorak" and maintain
consistency across npcname.json.
- Around line 24557-24583: The Kritias entries (e.g., keys like
"25022200-Kritias02-", "25022204-Kritias02-") incorrectly use "Tieren" in the
"name" values; update those to "Tairen" to match the surrounding Kritias naming
convention (search for and replace "Tieren" → "Tairen" in the Kritias block),
and run the same fix for the nearby IDs range referenced (24809–24825) to ensure
consistent use of "Tairen".
- Around line 23231-23233: The JSON entry with key "11004823-EpicApocalypse01-"
currently uses the spelling "Phantom Bayar" which conflicts with the established
"Vayar" spelling; update the value of "name" for that key to "Phantom Vayar" and
make the same replacement for the other affected entries (the groups around IDs
23543-23545 and 23549-23551) so all boss-family names consistently use "Vayar".
- Around line 23420-23422: Several Turka unit entries (e.g., the key
"21010208-Kritias_Turka02-" whose name is "Turka Legion Alek (Senior)") use
inconsistent spellings Alek/Allek/Alex; standardize these to a single canonical
spelling (choose "Alek") by updating the "name" values for that key and all
other Turka entries referenced (lines indicated around 23429-23433, 23819-23830,
23837-23863) to replace "Allek"/"Alex" with "Alek" so the family name is
consistent across the JSON.
- Around line 23342-23344: Multiple entries use inconsistent spellings "Blue
Luke" vs "Blue Luk"; pick the correct canonical spelling and make all
OS01/Dungeon entries consistent. Update the value for the JSON object with key
"11004864-DungeonOS01-" (currently "Blue Luke") and the entries with IDs
24020-24022 and 24029-24034 so they all use the same chosen spelling (e.g.,
change "Blue Luke" → "Blue Luk" or vice versa) ensuring no trailing/leading
whitespace and preserving the surrounding JSON structure and quoting.
- Around line 23354-23356: The NPC entry with key "11004872-EpicApocalypse04-"
uses the name value "Oskal", which appears to be a typo; update the value to the
established name "Oska" so it matches the rest of the file (change the "name"
field in the "11004872-EpicApocalypse04-" object from "Oskal" to "Oska").
In `@WeblateConverter/Json/en/questdescription_final.json`:
- Around line 46965-46967: The desc for the "80010580-Event-CN" entry contains
untranslated Chinese text ('冒险岛喜迎新春'); update the English localization by
replacing that phrase in the desc field with an appropriate English translation
(e.g., "MapleStory New Year Celebration" or "MapleStory Welcomes the New
Spring") so the entire string in the en/questdescription_final.json is fully
English while preserving the existing npc tokens and punctuation.
In `@WeblateConverter/Json/en/skillname.json`:
- Around line 4904-4980: Pick a single element naming scheme (either "Ice" &
"Thunder" or "Frost" & "Lightning") and make the JSON entries for the Runeblade
family consistent: update all affected name values so variants use the chosen
words uniformly (examples to change: keys 10900175--, 10900177--, 10900196--,
10900198--, 10900193--, 10900201--, 10900203--, 10900207--, 10900212--,
10900213--, 10900211--, 10900205--, 10900225--, 10900221--, 10900223--,
10900222--, 10900214--, 10900241--, 10900231--, 10900251--, 10900261--,
10900271--, 10900294--, 10900292--, 10900291--, 10900293--), ensuring every
element-variant (Blade, Rune, Gate, Quintuple Cut, etc.) uses the same term (Ice
vs Frost and Thunder vs Lightning) across the whole block.
- Around line 5891-5893: The value for the JSON entry with key "120010021--" has
a typo in the name property; change "Gigantic Laser: Red Lapenshad" to "Gigantic
Laser: Red Lapenshard" by editing the name field for the "120010021--" object so
it matches the neighboring keys' spelling.
---
Duplicate comments:
In `@WeblateConverter/Json/en/skillname.json`:
- Around line 4721-4723: Update the inconsistent skill name for the entry with
key "10600291--": change the value of "name" from "Booby Trap MK2" to "Booby
Trap MK 2" so it matches the established spacing used by the matching variant
above and prevents duplicate renderings.
- Around line 4241-4243: Two entries for the same base skill ID differ in
plurality: the key "10100201--" has name "Guardian's Wing" while
"10100201-JobChange_01-" is "Guardian's Wings"; make them text-identical by
updating one to match the other (choose the correct canonical form) so both
"10100201--" and "10100201-JobChange_01-" use the same name string.
- Around line 5195-5197: Update the name value for the JSON entry with key
"11100031--": correct the typo "Focusing Animarl" to "Focusing Animal" in the
"name" field for the "11100031--" object so it matches the existing terminology.
- Around line 4409-4426: Multiple entries in the 1030023x family use two
different labels; normalize all entries with IDs "10300231--" through
"10300236--" to a single canonical name (use "Barbecue Party" to match
10300231-- and 10300232--) so that "10300233--", "10300234--", "10300235--", and
"10300236--" are updated from "BBQ Party" to "Barbecue Party"; ensure the change
is applied consistently in the JSON for that entire skill family.
🪄 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: defaults
Review profile: CHILL
Plan: Pro
Run ID: 11870bfe-0a02-4fdf-be64-d45eb9ae345c
📒 Files selected for processing (7)
WeblateConverter/Json/en/itemname.jsonWeblateConverter/Json/en/npcname.jsonWeblateConverter/Json/en/questdescription_final.jsonWeblateConverter/Json/en/skillname.jsonWeblateConverter/Json/en/stringadditionaldescription.jsonWeblateConverter/Json/en/stringcommon.jsonWeblateConverter/Json/en/stringfieldenterance.json
🚧 Files skipped from review as they are similar to previous changes (2)
- WeblateConverter/Json/en/stringadditionaldescription.json
- WeblateConverter/Json/en/stringcommon.json
| "11004823-EpicApocalypse01-": { | ||
| "name": "Phantom Bayar" | ||
| }, |
There was a problem hiding this comment.
Keep the established Vayar spelling here.
Bayar introduces a second English spelling for the same boss family; the rest of this file already uses Vayar.
Also applies to: 23543-23545, 23549-23551
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/npcname.json` around lines 23231 - 23233, The JSON
entry with key "11004823-EpicApocalypse01-" currently uses the spelling "Phantom
Bayar" which conflicts with the established "Vayar" spelling; update the value
of "name" for that key to "Phantom Vayar" and make the same replacement for the
other affected entries (the groups around IDs 23543-23545 and 23549-23551) so
all boss-family names consistently use "Vayar".
| "11004864-DungeonOS01-": { | ||
| "name": "Blue Luke" | ||
| }, |
There was a problem hiding this comment.
Normalize Blue Luke vs Blue Luk.
These OS01 entries now use two spellings for what looks like the same unit/boss family.
Also applies to: 24020-24022, 24029-24034
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/npcname.json` around lines 23342 - 23344, Multiple
entries use inconsistent spellings "Blue Luke" vs "Blue Luk"; pick the correct
canonical spelling and make all OS01/Dungeon entries consistent. Update the
value for the JSON object with key "11004864-DungeonOS01-" (currently "Blue
Luke") and the entries with IDs 24020-24022 and 24029-24034 so they all use the
same chosen spelling (e.g., change "Blue Luke" → "Blue Luk" or vice versa)
ensuring no trailing/leading whitespace and preserving the surrounding JSON
structure and quoting.
| "11004872-EpicApocalypse04-": { | ||
| "name": "Oskal" | ||
| }, |
There was a problem hiding this comment.
Oskal looks like a typo of Oska.
Oska is the established character name elsewhere in this file, so this reads like a different NPC.
Suggested fix
- "name": "Oskal"
+ "name": "Oska"📝 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.
| "11004872-EpicApocalypse04-": { | |
| "name": "Oskal" | |
| }, | |
| "11004872-EpicApocalypse04-": { | |
| "name": "Oska" | |
| }, |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/npcname.json` around lines 23354 - 23356, The NPC
entry with key "11004872-EpicApocalypse04-" uses the name value "Oskal", which
appears to be a typo; update the value to the established name "Oska" so it
matches the rest of the file (change the "name" field in the
"11004872-EpicApocalypse04-" object from "Oskal" to "Oska").
| "21010208-Kritias_Turka02-": { | ||
| "name": "Turka Legion Alek (Senior)" | ||
| }, |
There was a problem hiding this comment.
Unify the Alek / Allek / Alex spellings.
These Turka entries appear to refer to the same unit family, but three English spellings are introduced across the same content block.
Also applies to: 23429-23433, 23819-23830, 23837-23863
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/npcname.json` around lines 23420 - 23422, Several
Turka unit entries (e.g., the key "21010208-Kritias_Turka02-" whose name is
"Turka Legion Alek (Senior)") use inconsistent spellings Alek/Allek/Alex;
standardize these to a single canonical spelling (choose "Alek") by updating the
"name" values for that key and all other Turka entries referenced (lines
indicated around 23429-23433, 23819-23830, 23837-23863) to replace
"Allek"/"Alex" with "Alek" so the family name is consistent across the JSON.
| "21401190-DungeonOpen70CH6-": { | ||
| "name": "Deborak Junior" | ||
| }, | ||
| "21401191-DungeonOpen70CH6-": { | ||
| "name": "Deborak Junior" | ||
| }, |
There was a problem hiding this comment.
Use the existing Devorak spelling here.
Deborak Junior diverges from the existing Devorak / Junior Devorak entries and looks like a typo.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/npcname.json` around lines 23531 - 23536, The two
entries with keys "21401190-DungeonOpen70CH6-" and "21401191-DungeonOpen70CH6-"
use the misspelled name "Deborak Junior"; update their "name" values to the
existing spelling "Devorak Junior" so they match other entries like "Junior
Devorak" and maintain consistency across npcname.json.
| "25022200-Kritias02-": { | ||
| "name": "Tieren Elite Trooper" | ||
| }, | ||
| "24002804-DoubleImpactStory-": { | ||
| "name": "Lost Child" | ||
| }, | ||
| "24002805-DoubleImpactStory-": { | ||
| "name": "Ashen Wolf" | ||
| }, | ||
| "25022201-Kritias02-": { | ||
| "name": "Enhanced Tieren Assault Trooper" | ||
| }, | ||
| "25022205-Kritias02-": { | ||
| "name": "Brutal Cerberus Destroyer" | ||
| }, | ||
| "25022207-Kritias02-": { | ||
| "name": "Cerberus Assassin" | ||
| }, | ||
| "25022206-Kritias02-": { | ||
| "name": "Defective Sect" | ||
| }, | ||
| "25022203-Kritias02-": { | ||
| "name": "Broken Foxtrot" | ||
| }, | ||
| "25022204-Kritias02-": { | ||
| "name": "Tieren Magic Agent" | ||
| }, |
There was a problem hiding this comment.
Keep Tairen consistent in the Kritias block.
This section introduces Tieren, while the surrounding Kritias entries already use Tairen for the same faction.
Also applies to: 24809-24825
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/npcname.json` around lines 24557 - 24583, The
Kritias entries (e.g., keys like "25022200-Kritias02-", "25022204-Kritias02-")
incorrectly use "Tieren" in the "name" values; update those to "Tairen" to match
the surrounding Kritias naming convention (search for and replace "Tieren" →
"Tairen" in the Kritias block), and run the same fix for the nearby IDs range
referenced (24809–24825) to ensure consistent use of "Tairen".
| "10900175--": { | ||
| "name": "Ice Dimension Blade" | ||
| }, | ||
| "10900177--": { | ||
| "name": "Thunder Dimension Blade" | ||
| }, | ||
| "10900196--": { | ||
| "name": "Ice Rune Ignition" | ||
| }, | ||
| "10900198--": { | ||
| "name": "Thunder Rune Ignition" | ||
| }, | ||
| "10900193--": { | ||
| "name": "Flame Rune Ignition" | ||
| }, | ||
| "10900201--": { | ||
| "name": "Rune Trigger" | ||
| }, | ||
| "10900203--": { | ||
| "name": "Flame Rune Trigger" | ||
| }, | ||
| "10900207--": { | ||
| "name": "Thunder Rune Trigger" | ||
| }, | ||
| "10900212--": { | ||
| "name": "Flame Quintuple Cut" | ||
| }, | ||
| "10900213--": { | ||
| "name": "Ice Quintuple Cut" | ||
| }, | ||
| "10900211--": { | ||
| "name": "Quintuple Cut" | ||
| }, | ||
| "10900205--": { | ||
| "name": "Ice Rune Trigger" | ||
| }, | ||
| "10900225--": { | ||
| "name": "Thunder Blade Whip" | ||
| }, | ||
| "10900221--": { | ||
| "name": "Blade Whip" | ||
| }, | ||
| "10900223--": { | ||
| "name": "Ice Blade Whip" | ||
| }, | ||
| "10900222--": { | ||
| "name": "Flame Blade Whip" | ||
| }, | ||
| "10900214--": { | ||
| "name": "Thunder Quintuple Cut" | ||
| }, | ||
| "10900241--": { | ||
| "name": "Blade Expert" | ||
| }, | ||
| "10900231--": { | ||
| "name": "Physical Boost" | ||
| }, | ||
| "10900251--": { | ||
| "name": "Rune Expert" | ||
| }, | ||
| "10900261--": { | ||
| "name": "Lunatic Flash" | ||
| }, | ||
| "10900271--": { | ||
| "name": "Blade Runner" | ||
| }, | ||
| "10900294--": { | ||
| "name": "Lightning Gate of Blades" | ||
| }, | ||
| "10900292--": { | ||
| "name": "Flame Gate of Blades" | ||
| }, | ||
| "10900291--": { | ||
| "name": "Gate of Blades" | ||
| }, | ||
| "10900293--": { | ||
| "name": "Frost Gate of Blades" |
There was a problem hiding this comment.
Use one element naming scheme for the Runeblade aliases.
This block mixes Ice/Frost and Thunder/Lightning within one family (10900175--, 10900205--, 10900294--, etc.). Even if the rename is intentional, the aliases should stay internally consistent so related variants do not surface under different element names.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/skillname.json` around lines 4904 - 4980, Pick a
single element naming scheme (either "Ice" & "Thunder" or "Frost" & "Lightning")
and make the JSON entries for the Runeblade family consistent: update all
affected name values so variants use the chosen words uniformly (examples to
change: keys 10900175--, 10900177--, 10900196--, 10900198--, 10900193--,
10900201--, 10900203--, 10900207--, 10900212--, 10900213--, 10900211--,
10900205--, 10900225--, 10900221--, 10900223--, 10900222--, 10900214--,
10900241--, 10900231--, 10900251--, 10900261--, 10900271--, 10900294--,
10900292--, 10900291--, 10900293--), ensuring every element-variant (Blade,
Rune, Gate, Quintuple Cut, etc.) uses the same term (Ice vs Frost and Thunder vs
Lightning) across the whole block.
| "120010021--": { | ||
| "name": "Gigantic Laser: Red Lapenshad" | ||
| }, |
There was a problem hiding this comment.
Correct the Lapenshard typo.
"Gigantic Laser: Red Lapenshad" drops the r from Lapenshard, which is also the spelling used by the neighboring keys in this section.
Suggested fix
"120010021--": {
- "name": "Gigantic Laser: Red Lapenshad"
+ "name": "Gigantic Laser: Red Lapenshard"
},📝 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.
| "120010021--": { | |
| "name": "Gigantic Laser: Red Lapenshad" | |
| }, | |
| "120010021--": { | |
| "name": "Gigantic Laser: Red Lapenshard" | |
| }, |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WeblateConverter/Json/en/skillname.json` around lines 5891 - 5893, The value
for the JSON entry with key "120010021--" has a typo in the name property;
change "Gigantic Laser: Red Lapenshad" to "Gigantic Laser: Red Lapenshard" by
editing the name field for the "120010021--" object so it matches the
neighboring keys' spelling.
Currently translated at 95.9% (6498 of 6773 strings) Translation: MapleStory 2/String Common Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/stringcommon/en/
Currently translated at 95.4% (1666 of 1746 strings) Translation: MapleStory 2/Map Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/mapname/en/
Currently translated at 53.4% (23707 of 44346 strings) Translation: MapleStory 2/Quest Description Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/questdescription/en/
Currently translated at 79.4% (64462 of 81142 strings) Translation: MapleStory 2/Item Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/item/itemname/en/
Currently translated at 73.3% (7759 of 10572 strings) Translation: MapleStory 2/NPC Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/npcname/en/
Currently translated at 78.3% (63536 of 81142 strings) Translation: MapleStory 2/Item Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/item/itemname/pt/
Currently translated at 50.0% (392 of 783 strings) Translation: MapleStory 2/Dungeon Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/dungeon-name/en/
Currently translated at 37.4% (1441 of 3851 strings) Translation: MapleStory 2/Skill Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/skill-name/en/
Currently translated at 1.5% (127 of 8292 strings) Translation: MapleStory 2/Buff Description & Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/buff-description-and-name/en/
Currently translated at 97.2% (6590 of 6773 strings) Translation: MapleStory 2/String Common Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/stringcommon/en/
Currently translated at 99.8% (1744 of 1746 strings) Translation: MapleStory 2/Map Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/mapname/en/
Currently translated at 53.5% (23737 of 44346 strings) Translation: MapleStory 2/Quest Description Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/questdescription/en/
Currently translated at 79.6% (64607 of 81142 strings) Translation: MapleStory 2/Item Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/item/itemname/en/
Currently translated at 74.8% (7909 of 10572 strings) Translation: MapleStory 2/NPC Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/npcname/en/
Currently translated at 63.2% (495 of 783 strings) Translation: MapleStory 2/Dungeon Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/dungeon-name/en/
Currently translated at 41.3% (1591 of 3851 strings) Translation: MapleStory 2/Skill Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/skill-name/en/
Currently translated at 2.5% (215 of 8292 strings) Translation: MapleStory 2/Buff Description & Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/buff-description-and-name/en/
Currently translated at 98.0% (6639 of 6773 strings) Translation: MapleStory 2/String Common Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/stringcommon/en/
Currently translated at 99.9% (1745 of 1746 strings) Translation: MapleStory 2/Map Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/mapname/en/
Currently translated at 53.7% (23817 of 44346 strings) Translation: MapleStory 2/Quest Description Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/questdescription/en/
Currently translated at 79.7% (64727 of 81142 strings) Translation: MapleStory 2/Item Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/item/itemname/en/
Currently translated at 75.9% (8028 of 10572 strings) Translation: MapleStory 2/NPC Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/npcname/en/
Currently translated at 74.0% (580 of 783 strings) Translation: MapleStory 2/Dungeon Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/dungeon-name/en/
Currently translated at 65.8% (29195 of 44346 strings) Translation: MapleStory 2/Quest Description Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/questdescription/en/
Currently translated at 52.7% (68889 of 130510 strings) Translation: MapleStory 2/Quest Script Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/quest-script/en/
Currently translated at 53.4% (69798 of 130510 strings) Translation: MapleStory 2/Quest Script Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/quest-script/en/
Currently translated at 87.3% (70838 of 81142 strings) Translation: MapleStory 2/Item Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/item/itemname/en/
Currently translated at 53.6% (69989 of 130510 strings) Translation: MapleStory 2/Quest Script Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/quest-script/en/
Currently translated at 89.6% (72753 of 81142 strings) Translation: MapleStory 2/Item Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/item/itemname/en/
Currently translated at 89.6% (72753 of 81142 strings) Translation: MapleStory 2/Item Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/item/itemname/en/
Currently translated at 90.7% (73618 of 81142 strings) Translation: MapleStory 2/Item Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/item/itemname/en/
Currently translated at 72.4% (49388 of 68207 strings) Translation: MapleStory 2/Item Descriptions Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/item/item-descriptions/en/
Currently translated at 100.0% (3851 of 3851 strings) Translation: MapleStory 2/Skill Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/skill-name/en/
Currently translated at 19.0% (1580 of 8292 strings) Translation: MapleStory 2/Buff Description & Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/buff-description-and-name/en/
Currently translated at 46.4% (131 of 282 strings) Translation: MapleStory 2/Pet Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/pet-name/en/
Currently translated at 53.7% (70139 of 130510 strings) Translation: MapleStory 2/Quest Script Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/quest-script/en/
Currently translated at 99.4% (3710 of 3729 strings) Translation: MapleStory 2/UI Strings Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/ui-strings/zh_Hant/
Currently translated at 0.7% (49 of 6773 strings) Translation: MapleStory 2/String Common Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/stringcommon/zh_Hant/
Currently translated at 0.7% (49 of 6773 strings) Translation: MapleStory 2/String Common Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/stringcommon/zh_Hant/
Currently translated at 0.7% (49 of 6773 strings) Translation: MapleStory 2/String Common Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/stringcommon/zh_Hant/
Currently translated at 0.7% (49 of 6773 strings) Translation: MapleStory 2/String Common Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/stringcommon/zh_Hant/
Currently translated at 0.7% (49 of 6773 strings) Translation: MapleStory 2/String Common Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/stringcommon/zh_Hant/
Currently translated at 0.7% (10 of 1333 strings) Translation: MapleStory 2/Guide Strings Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/guide-strings/zh_Hant/
Currently translated at 0.1% (7 of 22746 strings) Translation: MapleStory 2/Triggers Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/triggers/zh_Hant/
Currently translated at 0.1% (7 of 22746 strings) Translation: MapleStory 2/Triggers Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/triggers/zh_Hant/
Currently translated at 56.1% (3093 of 5510 strings) Translation: MapleStory 2/Achievement Description Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/achievement-description/en/
Currently translated at 100.0% (962 of 962 strings) Translation: MapleStory 2/Action Name Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/action-name/en/
Currently translated at 1.3% (93 of 6773 strings) Translation: MapleStory 2/String Common Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/stringcommon/zh_Hant/
Currently translated at 1.3% (93 of 6773 strings) Translation: MapleStory 2/String Common Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/stringcommon/zh_Hant/
Currently translated at 1.8% (25 of 1333 strings) Translation: MapleStory 2/Guide Strings Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/guide-strings/zh_Hant/
Currently translated at 0.1% (9 of 22746 strings) Translation: MapleStory 2/Triggers Translate-URL: http://translate.tadeucci.dev/projects/maplestory2-xml/triggers/zh_Hant/
Translations update from Weblate for MapleStory 2/String Common.
Current translation status:
Summary by CodeRabbit
New Features
Localization & Content
Quality