Skip to content

Conversation

@wfcd-bot-boi
Copy link
Contributor

@wfcd-bot-boi wfcd-bot-boi commented Nov 21, 2025

Summary by CodeRabbit

  • New Features

    • Added Hildryn Prime and Wisp Prime (warframes, cosmetics, bobbleheads, syandanas) and new Prime weapon variants.
    • Introduced multiple Mega Prime Vault pack collections and updated pack naming.
    • Added Legacyte Harvest mission type and a Deimos Necralisk relay hub.
    • New calendar challenges/upgrades (e.g., Winter Frost, Mutated Enemies, Artillery Beacons).
  • Items

    • Renamed Exilus Adapter to Exilus Warframe Adapter (updated public item naming).

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

@github-actions
Copy link

github-actions bot commented Nov 21, 2025

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@coderabbitai
Copy link

coderabbitai bot commented Nov 21, 2025

Walkthrough

Adds many new localization entries across 13 locales: Prime (Wisp/Hildryn) items, Mega Prime Vault packages, projections/relics, calendar/challenge entries, new mission type MT_ENDLESS_CAPTURE, new sol node DeimosHub, and renames "Exilus Adapter" → "Exilus Warframe Adapter". All edits are data additions or string updates.

Changes

Cohort / File(s) Summary
Languages — Multiple Locales
data/{cs,de,es,fr,it,ko,pl,pt,ru,sr,tr,uk,zh}/languages.json
Added numerous locale-specific translations: Wisp/Hildryn Prime powersuits, Prime weapons/skins, ship decos (bobbleheads), Prime syandanas, projections/relic mappings (Wisp/Hildryn vault bronze variants), many Mega Prime Vault package keys (e.g., MPVClearvoyPrimeSuit, MPVHildrynPrimeSinglePack, MPVWispPrimeSinglePack, MPVWispHildrynPrimeDualPack, MPVLarkspurGravimag, etc.), calendar/upgrades/challenge entries (ArtilleryBeacons, CompetitionSpillover, FallFog, GestatingTumors, MutatedEnemies, NecramechActivation, WinterFrost, Withering, HighScalingLegacyte, etc.), and adjusted pack naming (e.g., MPVOctaviaPrimeSinglePack → "Octavia Prime Pack"); also renamed Exilus Adapter to Exilus Warframe Adapter where applicable.
Mission Types — Multiple Locales
data/{cs,de,es,fr,it,ko,pl,pt,ru,sr,tr,uk,zh}/missionTypes.json
Added new mission type MT_ENDLESS_CAPTURE with value "Legacyte Harvest" (inserted after MT_ALCHEMY, JSON commas adjusted as needed).
Sol Nodes — Multiple Locales
data/{cs,de,es,fr,it,ko,pl,pt,ru,sr,tr,uk,zh}/solNodes.json
Added new top-level sol node key DeimosHub with object { "value": "Necralisk (Deimos)", "enemy": "Tenno", "type": "Relay" } (localized type/strings per locale).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20–30 minutes

  • Heterogeneous additions across many locale files require spot checks for consistency and JSON syntax.
  • Areas for extra attention:
    • Consistent presence and formatting of DeimosHub in all solNodes.json files.
    • MT_ENDLESS_CAPTURE exists in all missionTypes.json files and surrounding JSON commas are correct.
    • Exilus AdapterExilus Warframe Adapter rename applied consistently and without accidental duplicate keys.
    • Consistent naming for Mega Prime Vault keys and MPVOctaviaPrimeSinglePack pack-name change across locales.

Possibly related PRs

Suggested labels

released

Poem

🐰 I hop through JSON, keys anew,

Primes and vaults in every view.
Deimos hums, the Harvest calls,
Strings in thirteen tongues on walls.
A tiny nod — the data grew!

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'New Crowdin updates' is generic and does not clearly convey the specific content of the changeset, which involves significant additions across multiple language files and data entries. Consider using a more descriptive title that reflects the main changes, such as 'Add Wisp/Hildryn Prime entries and localization updates' or 'Update language data with new Prime Vault and mission type entries'.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch l10n

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between da0f264 and 9023dfb.

📒 Files selected for processing (39)
  • data/cs/languages.json (26 hunks)
  • data/cs/missionTypes.json (1 hunks)
  • data/cs/solNodes.json (1 hunks)
  • data/de/languages.json (26 hunks)
  • data/de/missionTypes.json (1 hunks)
  • data/de/solNodes.json (1 hunks)
  • data/es/languages.json (26 hunks)
  • data/es/missionTypes.json (1 hunks)
  • data/es/solNodes.json (1 hunks)
  • data/fr/languages.json (26 hunks)
  • data/fr/missionTypes.json (1 hunks)
  • data/fr/solNodes.json (1 hunks)
  • data/it/languages.json (26 hunks)
  • data/it/missionTypes.json (1 hunks)
  • data/it/solNodes.json (1 hunks)
  • data/ko/languages.json (26 hunks)
  • data/ko/missionTypes.json (1 hunks)
  • data/ko/solNodes.json (1 hunks)
  • data/pl/languages.json (26 hunks)
  • data/pl/missionTypes.json (1 hunks)
  • data/pl/solNodes.json (1 hunks)
  • data/pt/languages.json (26 hunks)
  • data/pt/missionTypes.json (1 hunks)
  • data/pt/solNodes.json (1 hunks)
  • data/ru/languages.json (26 hunks)
  • data/ru/missionTypes.json (1 hunks)
  • data/ru/solNodes.json (1 hunks)
  • data/sr/languages.json (26 hunks)
  • data/sr/missionTypes.json (1 hunks)
  • data/sr/solNodes.json (1 hunks)
  • data/tr/languages.json (26 hunks)
  • data/tr/missionTypes.json (1 hunks)
  • data/tr/solNodes.json (1 hunks)
  • data/uk/languages.json (26 hunks)
  • data/uk/missionTypes.json (1 hunks)
  • data/uk/solNodes.json (1 hunks)
  • data/zh/languages.json (26 hunks)
  • data/zh/missionTypes.json (1 hunks)
  • data/zh/solNodes.json (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (18)
  • data/pl/missionTypes.json
  • data/pt/solNodes.json
  • data/es/solNodes.json
  • data/cs/missionTypes.json
  • data/uk/solNodes.json
  • data/zh/missionTypes.json
  • data/ko/solNodes.json
  • data/pl/solNodes.json
  • data/ru/missionTypes.json
  • data/fr/missionTypes.json
  • data/ru/solNodes.json
  • data/tr/missionTypes.json
  • data/it/missionTypes.json
  • data/cs/solNodes.json
  • data/es/missionTypes.json
  • data/uk/missionTypes.json
  • data/tr/solNodes.json
  • data/pt/missionTypes.json
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: SlayerOrnstein
Repo: WFCD/warframe-worldstate-data PR: 588
File: data/languages.json:18862-18865
Timestamp: 2024-12-17T20:05:33.832Z
Learning: In `data/languages.json`, upgrade descriptions should remain as provided by Digital Extremes (DE) without modifying formatting inconsistencies.
📚 Learning: 2024-12-17T20:05:33.832Z
Learnt from: SlayerOrnstein
Repo: WFCD/warframe-worldstate-data PR: 588
File: data/languages.json:18862-18865
Timestamp: 2024-12-17T20:05:33.832Z
Learning: In `data/languages.json`, upgrade descriptions should remain as provided by Digital Extremes (DE) without modifying formatting inconsistencies.

Applied to files:

  • data/it/solNodes.json
  • data/zh/solNodes.json
  • data/de/solNodes.json
  • data/sr/solNodes.json
  • data/fr/solNodes.json
  • data/es/languages.json
  • data/zh/languages.json
  • data/fr/languages.json
  • data/pt/languages.json
  • data/ko/languages.json
  • data/pl/languages.json
  • data/uk/languages.json
  • data/cs/languages.json
  • data/tr/languages.json
  • data/ru/languages.json
  • data/it/languages.json
  • data/de/languages.json
  • data/sr/languages.json
📚 Learning: 2024-12-17T19:46:33.387Z
Learnt from: SlayerOrnstein
Repo: WFCD/warframe-worldstate-data PR: 588
File: tools/translation.js:312-317
Timestamp: 2024-12-17T19:46:33.387Z
Learning: In `tools/translation.js` (JavaScript), the `eventTypeMap` should match the in-game event type translations exactly (one-to-one), and should not be modified to ensure consistency with the game's terminology.

Applied to files:

  • data/es/languages.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Summary
🔇 Additional comments (78)
data/de/solNodes.json (1)

1267-1271: DeimosHub entry verified as unique and valid.

Uniqueness check confirmed: exactly one "DeimosHub" key in data/de/solNodes.json. JSON syntax valid, locale convention ("Relais") consistent with DE locale. Code is ready to merge.

data/it/solNodes.json (1)

1267-1271: DeimosHub entry verified and approved.

Single occurrence confirmed; JSON valid. Type "Relay" matches existing hub conventions.

data/sr/solNodes.json (1)

1267-1271: Code changes verified and approved.

The JSON is valid and DeimosHub appears exactly once in the file. Type "Relay" is consistent with other hubs.

data/fr/solNodes.json (1)

1267-1271: Entry verified and approved.

Verification confirms that DeimosHub appears exactly once in the file with correct localization. No duplicates detected.

data/ko/missionTypes.json (1)

76-79: No changes needed; follows established patterns.

"Legacyte Harvest" is intentionally untranslated across all 14 language localizations, consistent with other newer game mechanics (Void Cascade, Ascension, Alchemy). This is proper-name treatment, like "Disruption" in the same file. The JSON is valid and correctly added.

data/zh/solNodes.json (1)

1267-1271: No localization inconsistency found.

DeimosHub's value "Necralisk (Deimos)" follows the established pattern in zh/solNodes.json. Many hub entries retain English names alongside Chinese context (e.g., "Larunda 中继站", "Vesper 中继站", "Strata 中继站"), and "Necralisk (Deimos)" directly mirrors the format of "Fortuna (Venus)" in SolarisUnitedHub1. The entry is consistent with file conventions.

Likely an incorrect or invalid review comment.

data/sr/missionTypes.json (1)

76-79: JSON is valid and "Legacyte Harvest" correctly follows the established English localization pattern.

Verification confirms all mission types in sr/missionTypes.json use English values (Rathuum, Disruption, Assault, Capture, Defense, etc.), so "Legacyte Harvest" being in English is consistent and correct. Entry structure, comma placement, and formatting are all valid.

data/de/missionTypes.json (1)

76-79: Verified — no issues found.

Legacyte Harvest is an official Warframe mission name introduced in Update 38 ("1999") by Digital Extremes. The JSON syntax is valid and the entry is correctly added.

data/pl/languages.json (9)

32-43: Prime warframe and store items translations look good.

The Polish translations for IronFramePrime (Hildryn Prime) and WispPrime (Wisp Prime) follow the established naming patterns and are consistent with the game's Polish localization style.


65-70: Void projection/relic entries are properly formatted and consistent.

The new Wisp & Hildryn Prime vault projections (T1-T4, various rarities) follow the exact same structure as existing vault entries and map correctly to their respective relic codes (Lith/Meso/Neo/Axi). No issues detected.

Also applies to: 80-91, 107-112


161-163: Noggle statue translations are consistent.

The two new bobblehead entries (Hildryn Prime and Wisp Prime Noggles) follow the established naming convention for ship decorations and are properly localized.

Also applies to: 230-232


248-250: Sentinel translation is appropriate.

PrimeShadePowerSuit → "Shade Prime" follows the standard naming pattern for sentinel translations.


419-427: Prime weapon and syandana translations are accurate.

All weapon entries (Fulmin Prime, Gunsen Prime) and syandana entries (Surator Prime, Wisp Prime syandanas) follow established naming conventions and contain accurate Polish translations.

Also applies to: 479-490


501-504: Calendar challenge entries are properly formatted.

New calendar challenge entries ("Starve the beast" hard mode, melee combat challenges) follow the existing challenge structure with value and description fields. No issues detected.

Also applies to: 525-528


647-667: Mega Prime Vault packages are complete and consistent.

All new MPV (Mega Prime Vault) package entries—Clearvoy, Heimt, Hildryn, Larkspur, Wisp—follow the established naming pattern and map correctly to their bundle contents. Translations are accurate and consistent with the game's localization style.

Also applies to: 692-697


790-793: Calendar upgrade/modifier entries are well-structured and properly localized.

All new challenge modifier and upgrade entries (Artillery Beacons, Competitive Streak, Devil's Bargain, Foggy Fall, etc.) contain both value and description fields with accurate Polish translations. The descriptions maintain clarity and are consistent with the in-game modifier system's style.

Also applies to: 19302-19305, 19323-19326, 19343-19346, 19373-19376, 19381-19384, 19401-19404, 19417-19420, 19425-19428, 19452-19455, 19459-19462, 19544-19551, 19578-19585


617-619: ****

The keys identified are not inconsistent—they represent two distinct items as designed. /Lotus/Types/Items/MiscItems/WeaponUtilityUnlocker (for weapons) and /lotus/types/items/miscitems/utilityunlocker (for Warframes) are separate, intentional entries used throughout the codebase across all 14 language files. The mixed-case and lowercase patterns are consistent with broader path conventions (mixed case for /Lotus/ contexts, lowercase for /lotus/ contexts). The translation "Exilus Weapon Adapter" at line 617–619 is correct and follows established data patterns.

Likely an incorrect or invalid review comment.

data/zh/languages.json (4)

32-43: Verify consistency of Prime item naming across file.

The Prime warframe and weapon additions (Hildryn Prime, Wisp Prime, Fulmin Prime, Gunsen Prime, etc.) all follow proper naming conventions. The entries appear well-formed.

However, please verify that the capitalization and naming of these keys (e.g., IronFramePrime, WispPrime) matches the actual in-game data keys across all affected files to avoid runtime lookup failures.

Also applies to: 479-490


617-619: Clarify intent behind WeaponUtilityUnlocker vs. utilityunlocker keys.

Hunk 12 adds /Lotus/Types/Items/MiscItems/WeaponUtilityUnlocker with Chinese value "武器特殊功能槽连接器" (weapon-specific utility unlocker). Hunk 17 updates /lotus/types/items/miscitems/utilityunlocker with "Exilus Warframe Adapter" (warframe-specific).

These appear to be intentionally distinct items—one for weapons, one for warframes—but the path difference (case-sensitivity, WeaponUtility vs. plain) should be verified to ensure no accidental duplication or collision.

Also applies to: 15436-15437


790-793: Verify descriptions originate from Digital Extremes.

Hunks 16 and 18–26 add numerous upgrade descriptions and ability modifiers (e.g., "Force Of Attraction", "Artillery Beacons", "Competitive Streak", etc.) with accompanying descriptions. Per prior learnings, upgrade descriptions should remain as provided by DE without modification.

Please confirm that all descriptions in these hunks are copied verbatim from official DE sources and have not been edited for consistency, grammar, or formatting.

Also applies to: 19302-19461, 19544-19585


32-112: Overall data integrity looks sound.

All visible hunks maintain proper JSON structure with correct nesting, quotation marks, and formatting. The additions appear to be localization entries without behavioral or functional changes. No syntax errors are evident.

Also applies to: 161-231, 248-250, 419-427, 479-490, 501-503, 525-527, 617-619, 647-697

data/es/languages.json (5)

32-43: ✓ Prime items and relics additions look good.

The new Wisp Prime and Hildryn Prime items, along with their associated relics and ship decos, are correctly added and structurally sound.


617-619: ✓ Exilus Weapon Adapter correctly distinguished from Warframe Adapter.

The WeaponUtilityUnlocker key (uppercase /Lotus/ path) correctly maps to "Exilus Weapon Adapter", distinct from the warframe variant. Per previous verification, these are two intentional product types.


790-793: The review comment is incorrect; the file should remain in English.

The file data/es/languages.json contains English descriptions throughout—not Spanish translations. All sampled entries (Calendar upgrades, events, cosmetics, etc.) are in English. This appears to be the established pattern in this repository: content is provided by Digital Extremes in English across all locale files.

Additionally, the retrieved learning from this repository explicitly states that "upgrade descriptions should remain as provided by Digital Extremes (DE) without modifying formatting inconsistencies." The MagnetStatusPull entry should not be translated.

Likely an incorrect or invalid review comment.


10-11: Challenge descriptions are intentionally preserved in English across all language files.

The Spanish file (data/es/languages.json) at lines 501–504, 525–528, and elsewhere contains challenge descriptions in English because this is a repository-wide pattern, not a translation oversight. All localized language files—including German (de), French (fr), Portuguese (pt), and Spanish (es)—contain identical English text for these entries ("Destroy 300 Containers", "Kill 150 Enemies with Melee Weapons", etc.). This is intentional: per the repository guidance, descriptions should remain as provided by Digital Extremes without modification. The Spanish file correctly preserves the source content.

Likely an incorrect or invalid review comment.


19302-19305: These entries are untranslated across all locale files, not a Spanish translation issue.

The flagged entries (ArtilleryBeacons, CompetitionSpillover, etc.) contain identical English text in German, French, Portuguese, and Spanish locale files. This indicates these are new additions from Digital Extremes that have not yet been translated by DE into any language—not a Spanish translator oversight.

Per the established practice in this repository, upgrade descriptions provided by Digital Extremes should remain unchanged. Since all locales currently have these entries in English from DE, the Spanish file is consistent with the rest of the codebase.

Likely an incorrect or invalid review comment.

data/fr/languages.json (2)

29-697: Localization entries are well-structured and aligned with PR objectives.

The additions span new Prime items (Wisp/Hildryn), Mega Prime Vault packages, relics/projections, ship decos, weapons, cosmetics, and challenge entries. JSON formatting is correct throughout, and content aligns with the AI summary indicating parallel updates across multiple locale files. Entries appear to be translations rather than modifications of original source text.


617-619: These are two intentionally separate items—no fix needed.

Verification across multiple locales (zh, uk, sr, tr, ru, etc.) confirms:

  • WeaponUtilityUnlocker → "Exilus Weapon Adapter" (for weapons)
  • utilityunlocker → "Exilus Warframe Adapter" (for warframes)

Both paths, blueprint variants, and translations are consistent across all locale files, demonstrating these are distinct items rather than an inconsistency. The French locale additions follow the established pattern correctly.

Likely an incorrect or invalid review comment.

data/pt/languages.json (7)

617-619: Verify translation consistency for utility unlocker items.

There appears to be an inconsistency: Line 618 translates /Lotus/Types/Items/MiscItems/WeaponUtilityUnlocker to "Exilus Weapon Adapter," while line 15437 translates /lotus/types/items/miscitems/utilityunlocker to "Exilus Warframe Adapter." The AI summary indicates these should uniformly use "Exilus Warframe Adapter."

Confirm whether these are intentionally two different items (one for weapons, one for warframes) or if line 618 needs correction to match line 15437.

Also applies to: 15436-15438


32-43: Prime items and relic projection translations look good.

The new translations for Hildryn Prime, Wisp Prime, and their associated void projections/relics are properly added with consistent formatting. All entries follow the established pattern in the file.

Also applies to: 65-70, 80-91, 107-111


161-163: New cosmetics, sentinels, and weapons additions are well-structured.

Ship decos (Noggle statues), Prime Shade sentinel, syandanas, and weapons (Fulmin Prime, Gunsen Prime) are all properly formatted with appropriate Portuguese translations and correct JSON structure.

Also applies to: 230-232, 248-250, 419-427, 479-490


501-504: Calendar challenge entries are properly integrated.

New challenge translations ("Starve the beast," "By The Blade") and their descriptions are correctly added with consistent value/desc structure. No apparent issues with formatting.

Also applies to: 525-528


647-697: Mega Prime Vault package translations are comprehensive and consistent.

All new vault packages (Clearvoy, Heimt accessories, Hildryn/Wisp packs, Larkspur, Octavia) follow the established naming convention and formatting. Entries are properly structured with clear, localized names.


790-793: Calendar upgrade entries maintain description detail.

The "Force Of Attraction" entry for MagnetStatusPull includes a complete, well-formatted description matching the structure of surrounding entries.


19302-19584: New calendar/event modifier entries are comprehensive and consistently formatted.

All 14 new event/challenge modifiers (ArtilleryBeacons, CompetitionSpillover, DrainingResiduals, ExplosiveEnergy, FallFog, GestatingTumors, HighScalingLegacyte, HostileSecurity, MutatedEnemies, NecramechActivation, StickyFingers, TankStrongArmor, WinterFrost, Withering) are properly structured with both value and description fields. Formatting is consistent with existing entries, and descriptions appear substantive.

data/cs/languages.json (2)

1-15585: Approve localization additions overall.

The bulk of changes (hunks 1-11, 13-16, 18-26) follow consistent patterns for localization entries:

  • Prime item translations are well-formed and aligned with existing naming conventions
  • Relic projections, Mega Prime Vault packages, and calendar entries follow the established structure
  • New calendar upgrade descriptions align with the learning that descriptions should remain as provided by DE

All additions appear structurally valid JSON and maintain consistency with the existing file format.


618-618: No issues found. The translations are correct.

The two keys represent intentionally separate items in the source data:

  • /Lotus/Types/Items/MiscItems/WeaponUtilityUnlocker = "Exilus Weapon Adapter" (for weapons)
  • /lotus/types/items/miscitems/utilityunlocker = "Exilus Warframe Adapter" (for warframes)

The English source file confirms these are different items with different English values. The Czech translations correctly mirror this distinction. No inconsistency exists.

Likely an incorrect or invalid review comment.

data/it/languages.json (3)

617-619: Clarify distinction between WeaponUtilityUnlocker and the warframe adapter.

Line 617 introduces /Lotus/Types/Items/MiscItems/WeaponUtilityUnlocker as "Exilus Weapon Adapter", but hunk 17 (line 15437) contains a separate entry /lotus/types/items/miscitems/utilityunlocker as "Exilus Warframe Adapter". Confirm these are two distinct items (weapon vs warframe adapters) and not duplicates with inconsistent casing or paths.


683-685: Verify Octavia Prime Pack naming consistency across locales.

Line 684 updates MPVOctaviaPrimeSinglePack from "Octavia Prime" to "Octavia Prime Pack". Ensure this naming change is consistently applied across all 13 locales in the PR.


790-793: Verify upgrade descriptions align with Digital Extremes source material.

New modifier entries like "Force Of Attraction" (line 790-793) and others in hunks 18-26 include descriptions. Per prior learnings, upgrade descriptions should remain as provided by DE without modifications. Confirm all descriptions match the official DE source material exactly, including any formatting inconsistencies.

Also applies to: 15437-15437

data/ru/languages.json (2)

617-619: The review comment is based on a false premise—these are two distinct items.

The keys represent separate in-game items, not variants of the same item:

  • /Lotus/Types/Items/MiscItems/**Weapon**UtilityUnlocker → "Exilus Weapon Adapter" (for weapons)
  • /lotus/types/items/miscitems/utilityunlocker → "Exilus Warframe Adapter" (for Warframes)

The naming convention and consistent translations across all language files (ru, zh, tr, uk) confirm these are intentionally different. The translations appropriately reflect this distinction.

Likely an incorrect or invalid review comment.


19302-19585: The calendar challenge entries are intentionally in English across all locale files, not a Russian localization issue.

Verification shows that all 14 language files in the repository—including French, Spanish, German, Polish, Russian, and the main data/languages.json—have identical English values for calendar challenges: "ArtilleryBeacons" → "Artillery Beacons", "CompetitionSpillover" → "Competitive Streak", and so on. This is consistent design across all locales, not a translation oversight specific to the Russian file. Calendar challenge modifiers are maintained in English uniformly across the codebase.

Likely an incorrect or invalid review comment.

data/de/languages.json (2)

15436-15438: Verify path case consistency for the UtilityUnlocker entry.

The official item is named "Exilus Warframe Adapter", and line 15437 shows the correct translation. However, the JSON path uses lowercase (/lotus/types/items/miscitems/utilityunlocker) while all other entries in the file consistently use the uppercase convention (/Lotus/StoreItems/... or /Lotus/Types/...). Verify this lowercase path is intentional or if it should be normalized to match the uppercase pattern used elsewhere in the file.


19302-19585: Language consistency issue: English descriptors in German localization file.

Hunks 18–26 introduce calendar and event descriptors (e.g., "ArtilleryBeacons", "CompetitionSpillover", "DrainingResiduals", etc.) with English text for both value and desc fields. However, this is the German (de) localization file, and earlier entries like "AssassinsSyndicate" show proper German translations ("Attentäter"). These descriptor entries should be in German, not English.

Verify whether these are intentionally left in English or if German translations are missing.

data/tr/languages.json (3)

29-43: Localization additions align well with PR objectives.

The new Prime item entries (Hildryn Prime, Wisp Prime), projection/relic mappings, Mega Prime Vault packages, and mission modifiers are all cleanly added and formatted consistently with the existing file structure. The entries match the AI summary and support the stated PR goals.

Also applies to: 65-111, 161-231, 248-250, 419-427, 479-490


19548-19551: Verify against Digital Extremes source material before making changes.

The script confirms the TankStrongArmor description (line 19550) lacks a terminal period, and file-wide inconsistency exists—some descriptions end with periods, others don't. However, per the localization guidelines, descriptions must match Digital Extremes' provided text exactly without modifying formatting. Confirm whether the missing period reflects DE's source material or is an error before correcting.


617-619: No action required—this distinction is correct and intentional.

The naming is consistent across all 14+ language files in the repository. The two keys represent different game items:

  • /Lotus/Types/Items/MiscItems/WeaponUtilityUnlocker → "Exilus Weapon Adapter" (line 618)
  • /lotus/types/items/miscitems/utilityunlocker → "Exilus Warframe Adapter" (line 15437)

This pattern is uniform and matches the base data/languages.json file, confirming the distinction is intentional—not a discrepancy.

data/ko/languages.json (26)

32-43: Entry format and naming are correct. Prime warframe additions follow established pattern and align with official game releases.


65-70: Relic projection entries are correctly formatted. Naming conventions align with vault structure and follow established pattern.


80-91: Higher-tier relic projections follow correct pattern. Entries are well-formatted and consistent with naming scheme.


107-112: Axi-tier relics properly formatted. Entries align with vault structure.


161-163: Noggle statue entry correctly named. Follows pattern established for similar Prime collectibles.


230-232: Wisp Prime noggle statue entry is properly formatted. Consistent with other Prime collectible naming.


248-250: Shade Prime sentinel equipment entry is correct. Name aligns with official game release content.


419-427: Prime syandana entries correctly map cosmetics. Names verified against official Prime Access packaging from web search.


479-490: Prime weapon entries properly formatted. Fulmin Prime and Gunsen Prime correctly identified as Wisp Prime signature weapons per official releases.


501-504: Calendar challenge entry is properly formatted. Description follows standard pattern with correct punctuation.


525-528: Melee challenge entry is correctly formatted. Naming and description follow established calendar challenge pattern.


617-619: Weapon utility adapter rename is appropriate. Distinguishes weapon-specific unlocking item from warframe variant.


647-649: Clearvoy Prime Vault entry correctly formatted. Package name verified as official Wisp Prime Access content.


659-670: Mega Prime Vault packages correctly named. All entries align with official Prime Access content and naming conventions.


684-684: Prime pack naming rebranding improves consistency. Addition of "Pack" suffix and dual pack format follow standard package naming conventions.

Also applies to: 692-697


790-793: Upgrade ability modifier correctly formatted. Description clearly explains game mechanic with proper punctuation and grammar.


15436-15437: Warframe utility adapter rename is appropriate. Correctly distinguishes from weapon-specific variant (hunk 12) via naming.


19302-19305: Artillery Beacons modifier entry properly formatted. Description correctly explains game mechanic with proper punctuation.


19323-19326: "Competitive Streak" modifier correctly formatted. JSON escaping for internal quotes is proper; description is complete and clear.


19343-19346: "Devil's Bargain" modifier properly formatted. Description clearly outlines ability mechanics with correct punctuation.


19373-19384: "Miasmite Mash" and "Foggy Fall" modifiers properly formatted. Both descriptions are clear with correct punctuation and grammar.


19401-19404: "Sporogenesis" modifier properly formatted. Description is detailed and clearly explains the mechanic.


19417-19428: "Growth Hormones" and "Eroding Senses" modifiers correctly formatted. Descriptions are detailed and properly punctuated.


19452-19462: "Parallel Evolution" and "Necramech Influx" modifiers properly formatted. Both descriptions are clear and concise with correct punctuation.


19548-19551: Potential formatting inconsistency in "Thermian Plating" description. Line 19550 is missing a period at the end of the description, whereas surrounding entries consistently end with periods. If this is how Digital Extremes provided it, preserve as-is per established practice; otherwise, consider adding the final period for consistency.


19578-19585: "Thick Ice" and "Untreatable" modifiers properly formatted. Descriptions are clear and complete with correct punctuation and grammar.

data/uk/languages.json (3)

617-618: Verify naming consistency for Exilus item translations.

Line 617–618 shows WeaponUtilityUnlocker with Ukrainian translation "Ексилотримач для зброї", while line 15437 (hunk 17) updates /lotus/types/items/miscitems/utilityunlocker to the English name "Exilus Warframe Adapter". Confirm whether the Ukrainian translation at line 617–618 should be updated to align with the English rename, or clarify the relationship between these two keys.


501-504: Review comment is incorrect per established data handling policy.

The file data/uk/languages.json intentionally contains mixed English and Ukrainian descriptions throughout—not an inconsistency to fix. Your learnings explicitly state that descriptions in languages.json should remain as provided by Digital Extremes without modification. The CalendarDestroyPropsHard entry's English description ("Destroy 300 Containers") is how DE provided it and should not be changed. No action required.

Likely an incorrect or invalid review comment.


525-528: Remove the review comment—this appears to be intentional source data from Digital Extremes.

The entries with English content (lines 525-528 and similar entries throughout) are reproduced as-is from DE's source data. Per the repository's established policy (documented in learnings), descriptions and values provided by DE should remain unchanged without modification. Multiple similar entries across the file show this mixed EN/UA pattern (CalendarDestroyPropsHard, CalendarKillEnemiesEasy, CalendarKillTankHard), indicating this is how DE provides the data rather than a localization gap.

Likely an incorrect or invalid review comment.

data/sr/languages.json (2)

29-43: Verify locale and content language expectation.

This file is in the Serbian (sr) locale directory, yet all string values throughout the file are in English rather than Serbian. Confirm whether:

  1. This file should contain Serbian translations (localized content)
  2. This is a template/base file for translations to build upon
  3. The English content is intentional for this repository structure

Also applies to: 62-112, 158-250, 416-490, 501-528, 647-697, 790-19585


617-619: Inconsistent naming for adapter items across file.

Two entries reference what appears to be the same adapter item but use different names:

  • Line 618: WeaponUtilityUnlocker"Exilus Weapon Adapter"
  • Line 15437: utilityunlocker"Exilus Warframe Adapter"

These keys have different casings and different path structures, but the names conflict. Verify whether:

  1. Both keys should exist with potentially the same translation, or
  2. One is incorrect and should be removed/updated
  3. These represent genuinely different items in the game

Also applies to: 15436-15437


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.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
data/zh/solNodes.json (1)

1267-1271: Align Deimos parenthetical with existing zh convention.

Elsewhere this file uses "(火卫二)" for Deimos (e.g., SolNode229, SolNode714). Recommend "Necralisk (火卫二)" for consistency.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a5a5c2b and da0f264.

📒 Files selected for processing (39)
  • data/cs/languages.json (26 hunks)
  • data/cs/missionTypes.json (1 hunks)
  • data/cs/solNodes.json (1 hunks)
  • data/de/languages.json (26 hunks)
  • data/de/missionTypes.json (1 hunks)
  • data/de/solNodes.json (1 hunks)
  • data/es/languages.json (26 hunks)
  • data/es/missionTypes.json (1 hunks)
  • data/es/solNodes.json (1 hunks)
  • data/fr/languages.json (26 hunks)
  • data/fr/missionTypes.json (1 hunks)
  • data/fr/solNodes.json (1 hunks)
  • data/it/languages.json (26 hunks)
  • data/it/missionTypes.json (1 hunks)
  • data/it/solNodes.json (1 hunks)
  • data/ko/languages.json (26 hunks)
  • data/ko/missionTypes.json (1 hunks)
  • data/ko/solNodes.json (1 hunks)
  • data/pl/languages.json (26 hunks)
  • data/pl/missionTypes.json (1 hunks)
  • data/pl/solNodes.json (1 hunks)
  • data/pt/languages.json (26 hunks)
  • data/pt/missionTypes.json (1 hunks)
  • data/pt/solNodes.json (1 hunks)
  • data/ru/languages.json (26 hunks)
  • data/ru/missionTypes.json (1 hunks)
  • data/ru/solNodes.json (1 hunks)
  • data/sr/languages.json (26 hunks)
  • data/sr/missionTypes.json (1 hunks)
  • data/sr/solNodes.json (1 hunks)
  • data/tr/languages.json (26 hunks)
  • data/tr/missionTypes.json (1 hunks)
  • data/tr/solNodes.json (1 hunks)
  • data/uk/languages.json (26 hunks)
  • data/uk/missionTypes.json (1 hunks)
  • data/uk/solNodes.json (1 hunks)
  • data/zh/languages.json (26 hunks)
  • data/zh/missionTypes.json (1 hunks)
  • data/zh/solNodes.json (1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: SlayerOrnstein
Repo: WFCD/warframe-worldstate-data PR: 588
File: data/languages.json:18862-18865
Timestamp: 2024-12-17T20:05:33.832Z
Learning: In `data/languages.json`, upgrade descriptions should remain as provided by Digital Extremes (DE) without modifying formatting inconsistencies.
📚 Learning: 2024-12-17T20:05:33.832Z
Learnt from: SlayerOrnstein
Repo: WFCD/warframe-worldstate-data PR: 588
File: data/languages.json:18862-18865
Timestamp: 2024-12-17T20:05:33.832Z
Learning: In `data/languages.json`, upgrade descriptions should remain as provided by Digital Extremes (DE) without modifying formatting inconsistencies.

Applied to files:

  • data/uk/solNodes.json
  • data/es/solNodes.json
  • data/sr/solNodes.json
  • data/zh/solNodes.json
  • data/tr/solNodes.json
  • data/de/solNodes.json
  • data/fr/solNodes.json
  • data/pt/solNodes.json
  • data/pl/solNodes.json
  • data/cs/solNodes.json
  • data/zh/languages.json
  • data/pt/languages.json
  • data/ko/languages.json
  • data/es/languages.json
  • data/ru/languages.json
  • data/it/languages.json
  • data/pl/languages.json
  • data/tr/languages.json
  • data/it/solNodes.json
  • data/cs/languages.json
  • data/sr/languages.json
  • data/uk/languages.json
  • data/de/languages.json
  • data/fr/languages.json
📚 Learning: 2024-12-17T19:46:33.387Z
Learnt from: SlayerOrnstein
Repo: WFCD/warframe-worldstate-data PR: 588
File: tools/translation.js:312-317
Timestamp: 2024-12-17T19:46:33.387Z
Learning: In `tools/translation.js` (JavaScript), the `eventTypeMap` should match the in-game event type translations exactly (one-to-one), and should not be modified to ensure consistency with the game's terminology.

Applied to files:

  • data/es/languages.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Summary
🔇 Additional comments (90)
data/cs/languages.json (5)

32-43: Approve content additions for new Prime items and cosmetics.

The additions for Hildryn Prime, Wisp Prime, and related Mega Prime Vault packages, projections/relics, ship decorations, and weapon entries appear well-formed and consistent with the existing JSON structure.

Also applies to: 65-112, 161-163, 230-232, 248-250, 419-427, 479-490


501-504: Approve calendar challenge entries.

New challenge entries are properly formatted with value and description pairs and follow the established pattern.

Also applies to: 525-528


647-667: Approve Mega Prime Vault package entries.

Entries for MPVHildrynPrimeSinglePack, MPVLarkspurGravimag, MPVWispHildrynPrimeDualPack, and MPVWispPrimeSinglePack are properly structured and follow naming conventions consistent with existing Mega Prime Vault entries.

Also applies to: 684-684, 692-697


790-793: Approve mission modifier and upgrade entries.

New calendar modifiers and upgrade descriptions (ArtilleryBeacons, CompetitionSpillover, DrainingResiduals, ExplosiveEnergy, FallFog, GestatingTumors, HighScalingLegacyte, HostileSecurity, MutatedEnemies, NecramechActivation, StickyFingers, TankStrongArmor, WinterFrost, Withering, MagnetStatusPull) are consistently formatted with descriptive text and fit the existing data model.

Also applies to: 19302-19305, 19323-19326, 19343-19346, 19373-19376, 19381-19384, 19401-19404, 19417-19420, 19425-19428, 19452-19455, 19459-19462, 19544-19551, 19578-19585


617-619: Review comment is incorrect—no critical inconsistency exists.

The two keys are distinct: WeaponUtilityUnlocker (with "Weapon" prefix) and utilityunlocker (without). These represent two separate items in Warframe. The mappings are correct: WeaponUtilityUnlocker correctly maps to "Exilus Weapon Adapter" (unlocks weapon slots), and utilityunlocker correctly maps to "Exilus Warframe Adapter" (unlocks Warframe slots). This is not a duplicate key issue or data integrity error. No changes needed.

Likely an incorrect or invalid review comment.

data/sr/missionTypes.json (1)

76-79: Mission type addition is properly formatted and consistent across locales.

The MT_ENDLESS_CAPTURE entry is correctly added with proper JSON syntax. The untranslated English name "Legacyte Harvest" is consistent with the pattern observed across all language locales in this PR, suggesting this is an intentional proper name/mission type identifier.

data/zh/missionTypes.json (1)

76-79: Consistent addition across Chinese locale.

The MT_ENDLESS_CAPTURE entry mirrors the additions in other language files with identical value "Legacyte Harvest". JSON syntax is correct.

data/tr/missionTypes.json (1)

76-79: Consistent with other locale additions.

MT_ENDLESS_CAPTURE properly added with matching English name across all languages. JSON formatting is valid.

data/es/missionTypes.json (1)

76-79: Addition properly implemented for Spanish locale.

The MT_ENDLESS_CAPTURE entry is correctly formatted and maintains consistency with other language files.

data/cs/missionTypes.json (1)

76-79: Czech locale update is consistent and correctly formatted.

The new MT_ENDLESS_CAPTURE mission type is added with matching English name as seen in all other locales. JSON syntax is valid.

data/pt/solNodes.json (1)

1267-1271: DeimosHub entry is properly positioned and formatted.

The new hub entry follows the established pattern for relay hubs, with correct structure (value, enemy, type fields). Logical placement before Deimos-specific nodes (SolNode706+) maintains file organization.

data/ru/missionTypes.json (1)

76-79: Russian locale addition is consistent with other languages.

MT_ENDLESS_CAPTURE properly added with identical English value across all locales. JSON formatting is correct.

data/de/missionTypes.json (1)

76-79: German locale properly implements mission type addition.

The MT_ENDLESS_CAPTURE entry is correctly added and maintains consistency with all reviewed language files. The untranslated English value "Legacyte Harvest" appears intentional, as it is preserved identically across all locales (Serbian, Chinese, Turkish, Spanish, Czech, Russian, and German).

data/pt/missionTypes.json (1)

74-79: ✓ Localization data addition is correctly formatted.

The new MT_ENDLESS_CAPTURE entry follows the established pattern: trailing comma added to MT_ALCHEMY (line 76), and the new mission type properly formatted with the untranslated value "Legacyte Harvest" (consistent across all language locales). JSON structure and syntax are valid.

data/uk/missionTypes.json (1)

74-79: ✓ Ukrainian localization follows established pattern.

Entry mirrors the Portuguese and other locale files: MT_ALCHEMY trailing comma corrected, MT_ENDLESS_CAPTURE properly added with the consistent (untranslated) value "Legacyte Harvest". JSON structure valid.

data/fr/missionTypes.json (1)

74-79: ✓ French localization data correctly integrated.

Consistent structure across all mission type files: MT_ALCHEMY trailing comma, new MT_ENDLESS_CAPTURE entry with untranslated value. JSON formatting and syntax are correct.

data/it/missionTypes.json (1)

74-79: ✓ Italian mission type data properly formatted.

Follows established pattern: trailing comma added to MT_ALCHEMY, new MT_ENDLESS_CAPTURE entry with consistent untranslated value "Legacyte Harvest". JSON structure valid.

data/pl/missionTypes.json (1)

74-79: ✓ Polish mission type addition is correctly formatted.

Consistent with all other locale files: proper trailing comma placement on MT_ALCHEMY, new MT_ENDLESS_CAPTURE entry with the untranslated standard value. JSON structure is valid.

data/pl/solNodes.json (1)

1267-1271: ✓ DeimosHub sol node correctly added.

New hub node properly placed between SolNode450 and SolNode706, following the established hub node pattern (value, enemy, type fields). Trailing comma placement is correct for JSON continuation. Structure matches other hub nodes like ZarimanHub and SolNode234.

data/de/solNodes.json (1)

1267-1271: ✓ German DeimosHub entry correctly localized.

Hub node properly positioned and structured. German localization appropriately applied to the "type" field ("Relais" for Relay), while location identifier "Necralisk (Deimos)" remains untranslated (consistent with pattern across other locales). JSON syntax and placement are correct.

data/tr/solNodes.json (1)

1267-1271: ✓ Turkish DeimosHub entry correctly formatted.

Hub node placed consistently with German and Polish locale files. Structure and field values are correct, with "type": "Relay" following the existing Turkish localization pattern where certain game system values remain in English. JSON syntax is valid.

data/ko/solNodes.json (1)

1267-1271: LGTM: DeimosHub added with correct KO hub conventions.

"텐노"/"릴레이" align with other hubs. No structural issues.

data/it/solNodes.json (1)

1267-1271: LGTM: matches IT file’s English-forward style.

No localization or structural issues spotted.

data/es/solNodes.json (1)

1267-1271: LGTM: consistent with ES conventions.

"Repetidor" and "(Deimos)" align with surrounding entries. Structurally sound.

data/ko/missionTypes.json (1)

77-79: No action needed—KO localization is consistent with all other locales.

"Legacyte Harvest" is left in English across all 13 locale files (ko, de, cs, es, fr, it, pl, pt, ru, tr, sr, uk, zh), not just KO. This indicates the term is intentionally preserved in English (likely a proper name or brand), not a KO-specific localization gap.

Likely an incorrect or invalid review comment.

data/ru/solNodes.json (1)

1267-1271: Do not standardize Deimos naming; appears intentional per enemy type.

The file does show inconsistency—nodes with "Заражённые" (Infested) enemy use "(Деймос)" while those with "The Murmur" or "Тэнно" use "(Deimos)". However, this distinction appears intentional and may reflect how Digital Extremes provides the underlying data. Per learnings on this repository, values sourced from DE should not be modified for consistency alone, as formatting differences often encode meaningful distinctions in the source data.

Likely an incorrect or invalid review comment.

data/sr/solNodes.json (1)

1267-1271: DeimosHub entry added consistently.

The new hub entry follows the established naming and structure conventions seen in other files. JSON syntax is valid, and placement relative to SolNode450 is appropriate.

data/fr/solNodes.json (1)

1267-1271: DeimosHub entry with appropriate French localization.

Type field correctly localized to "Relai" while maintaining the English proper noun "Necralisk (Deimos)" in the value field, following game localization conventions.

data/cs/solNodes.json (1)

1267-1271: DeimosHub entry added with consistent structure.

Entry follows established conventions. Note: type field is "Relay" (English). If Czech translations for hub types exist elsewhere in this file, consider whether a Czech equivalent should be used here for consistency.

data/uk/solNodes.json (1)

1267-1271: DeimosHub entry with appropriate Ukrainian localization.

Type field correctly localized to Ukrainian "Реле" while maintaining the English proper noun "Necralisk (Deimos)" in the value field, consistent with localization patterns used throughout the file.

data/pl/languages.json (5)

32-43: Review limited to visible structure only—Polish translations not visible in annotated code.

The provided annotated code shows only the English "value" fields and doesn't display the actual Polish translations being added to this file. To fully review this localization PR, I'll need to verify:

  1. Polish translation quality & accuracy – Do the Polish terms match the in-game UI and official Warframe terminology?
  2. Consistency with existing Polish entries – Do these new entries follow the same conventions, gender agreement, and pluralization rules as existing translations?
  3. Cross-locale alignment – As mentioned in the AI summary, do the Polish additions mirror the structure/style of other language files (ES, FR, IT, RU, KO, DE, SR, PT, ZH, TR, UK)?
  4. DE formatting compliance – Per the learning note, descriptions should not alter Digital Extremes' original formatting. Are the Polish descriptions faithful to DE's originals?

Without seeing the actual Polish text values in the file, this review cannot confirm translation accuracy. Please verify the Polish translations directly in the data/pl/languages.json file or provide a comparison showing Polish values alongside the English keys.

Also applies to: 65-111, 161-231, 248-490


617-619: Distinct Exilus adapters correctly mapped to separate item keys.

The PR correctly distinguishes between two separate items:

  • Exilus Weapon Adapter unlocks an Exilus Mod Slot for Primary, Secondary or Melee weapons
  • Exilus Warframe Adapter can be fused with a Warframe to unlock an Exilus Mod Slot

Lines 617–619 map WeaponUtilityUnlocker to "Exilus Weapon Adapter", and Line 15437 maps utilityunlocker to "Exilus Warframe Adapter"—two intentionally different products with separate item IDs, which is correct.

Also applies to: 15437-15437


647-697: Mega Prime Vault package entries follow expected structure.

The additions at lines 647–697 include new Mega Prime Vault packages (MPV*) with consistent key naming and structure. The entries follow the established pattern seen in adjacent lines (e.g., line 650–651, 668–669). Entries like MPVHildrynPrimeSinglePack → "Hildryn Prime Pack" and MPVWispPrimeSinglePack → "Wisp Prime Pack" align with the AI summary description of Wisp/Hildryn Prime vault content.


501-527: Calendar challenge entries appear well-structured.

The calendar challenge additions (hunks 10–11, lines 501–527) include both value and desc fields. Per the learning note, descriptions should remain faithful to Digital Extremes' originals without formatting modifications. While the structure is sound, verify that the Polish descriptions in these entries preserve DE's exact formatting and intent.

Confirm that Polish descriptions in calendar challenge entries (lines 501–527) match DE's original text and formatting.


19302-19584: Large set of calendar/challenge modifier entries—structure consistent, descriptions need DE compliance check.

Hunks 18–26 (lines 19302–19584) add numerous calendar/upgrade entries and mission modifiers (e.g., ArtilleryBeacons, CompetitionSpillover, DrainingResiduals, FallFog, GestatingTumors, etc.) with value and desc fields. The JSON structure is consistent with the rest of the file.

However, per the learning note, upgrade descriptions must remain as provided by Digital Extremes without formatting modifications. This is particularly important for entries like lines 19373–19376 (ExplosiveEnergy), 19381–19384 (FallFog), and others with detailed descriptions.

Confirm that all Polish descriptions (especially for calendar upgrades and challenge modifiers, lines 19302–19584) match DE's official source text exactly, preserving any formatting quirks or inconsistencies from the original.

data/es/languages.json (3)

29-43: Prime item entries look correct.

The additions for Hildryn Prime and Wisp Prime store items (hunks 1–9) follow the existing naming convention. Proper nouns and character names are correctly maintained in English across language locales, which is standard practice.


65-111: Void projection relic entries are well-structured.

The new Wisp/Hildryn vault projections (hunks 2–4) with their corresponding relic tiers (Lith, Meso, Neo, Axi) maintain consistent naming with existing projection entries and appear complete.


19302-19305: Challenge descriptions are intentionally provided in English across all language files—not a localization issue.

Verification confirms that challenge descriptions (like ArtilleryBeacons, Random, etc.) are consistently in English across German, Italian, Portuguese, French, and Spanish language files. This is an intentional pattern, not missing translations. The Spanish file itself contains properly translated content in other sections (e.g., "Tropa de élite localizada"), confirming the file's localization is working as intended. Challenge descriptions appear to be provided by Digital Extremes in English only and managed uniformly across all languages via Crowdin.

Likely an incorrect or invalid review comment.

data/ko/languages.json (2)

617-619: ****

The two entries reference intentionally distinct items, not a casing or path inconsistency:

  • Line 617: /Lotus/Types/Items/MiscItems/WeaponUtilityUnlocker → "Exilus Weapon Adapter" (for weapons)
  • Line 15436: /lotus/types/items/miscitems/utilityunlocker → "Exilus Warframe Adapter" (for Warframes)

Both paths and values are present consistently across all language files in the repository and match the base data file exactly. These represent two separate, correctly-implemented item types with distinct purposes.

Likely an incorrect or invalid review comment.


790-793: No issues found with DE-provided descriptions.

Verification confirms that the calendar upgrade/challenge entries in the Korean file (data/ko/languages.json) match the English source (data/languages.json) exactly:

  • MagnetStatusPull: "Magnetic Status Effects also pull in enemies within 1m per stack." ✓
  • ArtilleryBeacons: "When killed, Scaldra troops drop artillery beacons that summon bombardments." ✓
  • DevilsBargain: "Allies within 4m of slain enemies gain 25% Fire Rate at the cost of -50% Ammo Efficiency." ✓

The descriptions are direct copies from the DE-provided English source without any modifications to formatting or content. Per the learning context, this satisfies the requirement that upgrade descriptions remain as provided by Digital Extremes.

data/ru/languages.json (4)

617-619: Exilus Adapter entries look appropriate.

The two adapter entries (hunk 12: Weapon, hunk 17: Warframe) are correctly mapped to distinct internal paths and serve different purposes.


19302-19585: Challenge/upgrade entries are well-formatted and complete.

All new challenge and upgrade modifier entries (hunks 18-26) include proper name and description pairs with specific game mechanic details and numeric values. Descriptions appear complete and grammatically sound.


65-70: Relic projection entries follow consistent naming conventions.

The new Wisp/Hildryn vault relic entries (Lith L6, Lith F3, Meso G10, Neo H4, Axi W4, Axi S19) follow established naming patterns and map to correctly structured internal paths.

Also applies to: 80-91, 107-112


32-43: Running JSON validation to complete the verification:

No issues found - language localization strategy is consistent across locales.

The Russian locale's mix of English (e.g., "Shade Prime") and Russian (e.g., "Вобан Прайм") follows the same pattern observed in other language files. Czech locale also retains English names for Prime Warframes, confirming this is intentional game design rather than a localization error. JSON syntax validation can proceed, but the entries reviewed align with localization standards used across the codebase.

data/zh/languages.json (12)

32-43: Approve store item additions for Hildryn Prime and Wisp Prime.

The new entries are properly formatted and maintain consistency with existing Prime warframe naming conventions in the file.


65-111: Approve void projection relic entries for Wisp/Hildryn vaults.

The six new relic entries are consistently named and properly ordered within their respective tiers (T1-T4). All entries follow the established English naming convention for relics.


161-163: Approve bobblehead entries for Hildryn Prime and Wisp Prime.

Both entries follow the established naming pattern for Noggle decorations and are properly positioned within the file's alphabetical ordering.

Also applies to: 230-232


248-250: Approve Shade Prime sentinel powersuit entry.

Entry is correctly formatted and maintains consistency with other Prime sentinel entries.


419-427: Approve Prime Syandana entries.

Both entries follow established naming patterns and are properly positioned within the Syandana section.


479-490: Approve Prime weapon entries for Fulmin and Gunsen.

Entries are properly formatted and maintain consistency with existing Prime weapon naming conventions.


501-527: Approve calendar challenge entries.

Both entries are properly formatted with title and description fields. Descriptions remain as provided without modification, consistent with the project's policy on DE content.


617-619: Verify Exilus Adapter localization strategy.

This entry provides a Chinese translation for WeaponUtilityUnlocker. However, a later entry at line 15436-15438 uses a different path (/lotus/types/items/miscitems/utilityunlocker) with an English translation ("Exilus Warframe Adapter"). Clarify whether both entries should coexist or if one is meant to replace the other, as having duplicate entries for the same item with different paths and translations could cause conflicts.


647-697: Approve Mega Prime Vault package entries.

All seven new package entries follow the established naming convention for MPV bundles and are correctly positioned within the section. English names are appropriate for product identifiers in this context.


790-793: Approve calendar upgrade entry for MagnetStatusPull.

Entry is properly formatted with description following the project's policy of retaining DE-provided content as-is.


15436-15438: Verify consistency with earlier Exilus Adapter entry.

This entry provides an English translation for a lowercase path. It duplicates the item from line 617-619, which uses a different path casing and a Chinese translation. Confirm whether both entries should exist (for different code paths) or if one is outdated. The inconsistency may cause unpredictable localization behavior.


19302-19585: Approve challenge modifier entries.

All thirteen new modifier entries are properly formatted with descriptions following the project's policy of retaining DE-provided content unmodified. Entries are alphabetically positioned and naming is consistent with game terminology.

data/it/languages.json (9)

32-43: LGTM!

The new Warframe Prime entries (Hildryn Prime and Wisp Prime) follow established naming conventions and are correctly mapped.


65-112: LGTM!

The new relic projection entries for Wisp & Hildryn Prime vault follow established naming patterns and use valid relic designations.


161-490: LGTM!

The cosmetics, accessories, and weapons entries (Noggle statues, Shade Prime, syandanas, and Prime weapons) follow established naming conventions and are correctly structured.


501-528: LGTM!

The calendar challenge entries follow established naming patterns with clear challenge names and descriptions.


617-619: LGTM!

The "Exilus Weapon Adapter" is the correct name for the item that unlocks an Exilus Mod Slot on Primary, Secondary or Melee weapons, distinct from the Exilus Warframe Adapter. The naming is accurate.


647-697: LGTM!

The Mega Prime Vault package entries follow established naming conventions with clear descriptive names for single/dual packs and armor sets.


790-793: LGTM!

The upgrade entry follows established patterns with a descriptive name and clear mechanical description.


15436-15438: LGTM!

The "Exilus Warframe Adapter" is the correct name for the special item that can be fused with a Warframe to unlock an Exilus Mod Slot, distinct from the Exilus Weapon Adapter added earlier in the file.


19302-19585: LGTM!

The new challenge and upgrade descriptor entries follow established patterns with clear names and detailed mechanical descriptions. As per learnings, the descriptions appear to be accurate localizations without modifications to the original formatting.

data/pt/languages.json (2)

32-43: Content additions are appropriately formatted localization data.

The new entries for Prime items, relics, packages, challenges, and upgrades follow the established JSON structure and naming conventions throughout the file. Portuguese translations and game item names appear consistent with existing entries and follow the pattern visible in similar localization files across the project.

Also applies to: 65-112, 161-163, 230-232, 248-250, 419-427, 479-490, 501-528, 647-697, 790-793, 15302-15585


617-619: ****

The flagged inconsistency is not an error. The two paths reference different game items:

  • /Lotus/Types/Items/MiscItems/WeaponUtilityUnlocker → "Exilus Weapon Adapter" (correct)
  • /lotus/types/items/miscitems/utilityunlocker → "Exilus Warframe Adapter" (correct)

Script verification confirms this pattern is consistent across all locales (Chinese, Ukrainian, Serbian, Portuguese). These are distinct items with intentionally different values, not a data inconsistency requiring correction.

Likely an incorrect or invalid review comment.

data/tr/languages.json (3)

683-685: Rename verified as consistent across all locales.

The MPVOctaviaPrimeSinglePack entry shows "Octavia Prime Pack" consistently across all 13+ locale files (English, Italian, Polish, French, Ukrainian, Korean, Serbian, Portuguese, Russian, Turkish, Chinese, Spanish, Czech, German). This coordinated update across all locales indicates the change is intentional and translation alignment is maintained.


617-619: Let me check the English base locale to understand the intended translations for these distinct entries:

The review comment is based on a false premise and should be disregarded.

The Exilus Weapon Adapter unlocks an Exilus Mod Slot on weapons, while the Exilus Warframe Adapter unlocks an Exilus Mod Slot on Warframes. These are two distinct in-game items, not the same item with conflicting translations.

The two locale entries are correctly mapped:

  • /Lotus/Types/Items/MiscItems/WeaponUtilityUnlocker → "Exilus Weapon Adapter" (correct for weapons)
  • /lotus/types/items/miscitems/utilityunlocker → "Exilus Warframe Adapter" (correct for Warframes)

The path variations and different translations are intentional and reflect the different item types in Warframe's data structure.

Likely an incorrect or invalid review comment.


32-43: Cross-locale consistency verified and confirmed.

The Turkish entries match the pattern used across all locales—proper nouns (Hildryn, Nezha, Wisp, and their Prime variants) remain in English with identical values in Turkish, English base, and Russian locales. The PR additions follow the established structure and naming conventions consistently.

data/fr/languages.json (5)

32-43: ✓ New Prime items, projections, and cosmetics look good

All additions follow existing naming conventions consistently:

  • Prime Warframes ("Hildryn Prime", "Wisp Prime")
  • Void projection relics (e.g., "Lith L6 Relic", "Meso G10 Relic")
  • Cosmetic items ("Noggle Statue - Hildryn Prime", "Shade Prime", Prime Syandanas, weapons)

Also applies to: 65-111, 161-231, 248-249, 419-426, 479-489


501-503: ✓ New calendar challenges properly formatted

Challenge entries follow the established pattern with value and desc fields. Examples like "Starve the beast" and "By The Blade" are consistent with existing entries.

Also applies to: 525-527


617-618: ✓ Exilus adapter terminology correctly distinguished

The Exilus Weapon Adapter unlocks an Exilus Mod Slot for Primary, Secondary or Melee weapons, while the Exilus Warframe Adapter unlocks an Exilus Mod Slot for Warframes. The entries correctly use:

  • Line 618: "Exilus Weapon Adapter" for /Lotus/Types/Items/MiscItems/WeaponUtilityUnlocker
  • Line 15437: "Exilus Warframe Adapter" for /lotus/types/items/miscitems/utilityunlocker

Also applies to: 15437-15437


647-696: ✓ Mega Prime Vault packages consistently named

All entries follow the pattern: MPV[Name] → "[Display Name] Pack" (e.g., "Clearvoy Prime Collection", "Hildryn Prime Pack", "Wisp Prime Pack"). Line 684 updates "Octavia Prime" to "Octavia Prime Pack" for consistency across the dual-pack and single-pack variants.


790-792: ✓ Calendar descriptors properly formatted and translated

All new calendar entries follow the standard two-field format (value + desc) with clear, English descriptions. Examples:

  • "Artillery Beacons" (line 19303), "Competitive Streak" (line 19324), "Devil's Bargain" (line 19345), "Sporogenesis" (line 19402)
  • Descriptions are grammatically sound and contextually appropriate for game modifiers.

Consistent with the learnings: these are translations of Digital Extremes content without inappropriate formatting modifications.

Also applies to: 19302-19584

data/uk/languages.json (4)

790-793: English entry in MagnetStatusPull is systemic across all language files, not Ukrainian-specific.

Verification confirms the Ukrainian file contains the MagnetStatusPull entry with English text ("Force Of Attraction" / "Magnetic Status Effects also pull in enemies within 1m per stack."), but this is identical to entries in all 12 language files (cs, de, es, fr, it, ko, pl, pt, ru, sr, tr, zh). This indicates the entry was intentionally provided in English across all languages by Digital Extremes, rather than representing incomplete Ukrainian localization. Per the project learning, upgrade descriptions should be preserved as provided by DE without modification.

Likely an incorrect or invalid review comment.


501-504: I need to verify if these English entries are new to this PR or intentional fallback content.

Based on the verification, the original review comment is incorrect. Crowdin's default behavior fills untranslated strings with source text, but the script results reveal this is not a Ukrainian-specific localization issue.

All language files contain approximately 351 English entries (cs, de, es, fr, it, pl, pt, sr each have 351), indicating these English descriptions are consistent across the entire repository, not missing translations. The pattern—where entries like "Destroy 300 Containers" appear uniformly across all languages—shows these are intentional, not incomplete localization from Crowdin.

Per the learning note: "upgrade descriptions should remain as provided by Digital Extremes (DE) without modifying formatting inconsistencies." Game content descriptions are typically provided by DE and intentionally kept in English as source text, consistent with how Warframe handles English-language game content across all localized clients.

The English text in line 503 is correct and requires no changes.

Likely an incorrect or invalid review comment.


19302-19584: I need to verify if this pattern (all English across all languages) holds for other entries in the problematic section.

Now let me verify this pattern with a few more entries and check the git history of this section:

Based on my verification, I can now see this is the Warframe-Hub repository (WFCD/warframe-hub). Let me check a couple more entries to fully confirm the pattern before finalizing:

Reframe the review: English entries are present uniformly across ALL language files, not just Ukrainian.

The issue identified in the review—English-only entries in the Ukrainian localization file—is actually present across all language files in the repository, not specific to Ukrainian. A test of the "ArtilleryBeacons" entry shows identical English values in all 13 supported language files (cs, de, es, fr, it, ko, pl, pt, ru, sr, tr, uk, zh).

This is expected behavior from Crowdin, which has native fallback to the source language for untranslated entries. Rather than indicating missing Ukrainian translations, this pattern indicates these entries are either:

  1. Newly added and awaiting translation in Crowdin (which would explain their presence in the export)
  2. Intentionally English (unlikely for a game UI localization, but possible for certain entry types)

This is not a Ukrainian-specific localization issue—it's a repository-wide Crowdin export characteristic that requires investigation of whether these entries have translations pending in the Crowdin project or are expected to remain in English.

Likely an incorrect or invalid review comment.


15437-15437: This review comment is incorrect. The untranslated "Exilus Warframe Adapter" entry is not a Ukrainian-specific issue.

Verification shows that "Exilus Warframe Adapter" appears with identical English values across all 13+ language files (cs, de, es, fr, it, ko, pl, pt, ru, sr, tr, uk, zh, and base languages.json). This is not a Ukrainian localization gap—it reflects how Digital Extremes provided the data. The Ukrainian language file demonstrates working translations for other items, confirming the system supports Ukrainian localization. The untranslated state of this item is consistent across all languages and should be preserved as DE-provided, per codebase learnings.

Likely an incorrect or invalid review comment.

data/sr/languages.json (9)

32-43: Approve store items additions for Wisp and Hildryn Prime.

The additions of Wisp Prime and Hildryn Prime store items follow the existing pattern and appear consistent with mirror translations from other language files.


65-111: Approve projection/relic entries.

All T1-T4 void projection entries for Wisp/Hildryn Prime Vault items follow the correct naming convention and are consistent with the existing relic translation pattern.


161-232: Approve ship decoration (Noggle) entries.

The Noggle statue additions for Hildryn Prime and Wisp Prime follow the established naming pattern and are structurally sound.


248-250: Approve sentinel skins and syandana entries.

The additions for Shade Prime powersuit and Prime syandanas (Surator, Wisp) are consistent with existing patterns in the file.

Also applies to: 419-427


479-490: Approve weapon additions.

The weapon entries for Fulmin Prime and Gunsen Prime follow the correct store item naming convention.


501-528: Approve challenge/calendar entries.

The new calendar challenge entries are properly formatted with descriptors. Translations appear to follow the established pattern.


647-697: Approve Mega Prime Vault package entries.

The comprehensive set of new Mega Prime Vault packages (Clearvoy, Hildryn, Larkspur, Wisp dual/single packs, etc.) are correctly structured and named consistently.


790-793: Approve upgrade and challenge modifier entries.

The extensive set of new upgrades and challenge modifiers added throughout the file maintain consistent formatting with "value" and "desc" keys, following the established pattern.

Also applies to: 19302-19585


617-619: ****

The original concern about naming inconsistency is unfounded. Verification across all language files confirms that both paths represent intentionally distinct game items:

  • /Lotus/Types/Items/MiscItems/WeaponUtilityUnlocker → "Exilus Weapon Adapter" (for weapons)
  • /lotus/types/items/miscitems/utilityunlocker → "Exilus Warframe Adapter" (for Warframes)

This distinction is consistently maintained across all 13+ language files in the repository. The Serbian file (data/sr/languages.json) correctly follows this established pattern. These are separate items with different purposes and should have different translations.

Likely an incorrect or invalid review comment.

data/de/languages.json (2)

617-619: Adapter distinction verified across all language files.

The verification confirms that both Exilus adapters are correctly distinguished:

  • Weapon Adapter (/Lotus/Types/Items/MiscItems/WeaponUtilityUnlocker): Consistently mapped to "Exilus Weapon Adapter" across all 14 language files
  • Warframe Adapter (/lotus/types/items/miscitems/utilityunlocker): Consistently mapped to "Exilus Warframe Adapter" across all language files

The PR correctly maintains this distinction. Both keys are used consistently, with the weapon adapter also appearing in store and blueprint variants. No issues found.


19302-19585: All game modifier descriptions verified as consistent with English source.

The 11 modifiers in the German file (lines 19302–19584) have descriptions that match the base English file exactly. This pattern holds across all language files checked (German, French, Spanish), indicating that game modifier descriptions intentionally remain in English across all locales rather than being translated. No formatting deviations or inconsistencies were detected.

@TobiTenno TobiTenno enabled auto-merge (squash) November 21, 2025 06:15
@TobiTenno TobiTenno merged commit 0645674 into master Nov 21, 2025
11 checks passed
@TobiTenno TobiTenno deleted the l10n branch November 21, 2025 06:20
@wfcd-bot-boi
Copy link
Contributor Author

🎉 This PR is included in version 3.1.10 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants