Skip to content

Conversation

@wfcd-bot-boi
Copy link
Contributor

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

Summary by CodeRabbit

Release Notes

  • New Features

    • Added two new factions: Scaldra and Techrot.
    • Introduced Prime variants including Octavia Prime, Nezha Prime, and four new Prime weapons (Tenora, Guandao, Pandero, Zakti).
    • Added new void relic tiers and Mega Prime Vault packages.
    • Expanded calendar challenges and cosmetic upgrades with new modifiers.
  • Chores

    • Updated localization across 13 languages with translations for new in-game content, items, and events.

@github-actions
Copy link

github-actions bot commented Nov 1, 2025

Dependency Review

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

Scanned Files

None

@coderabbitai
Copy link

coderabbitai bot commented Nov 1, 2025

Walkthrough

This pull request adds new faction entries (FC_SCALDRA and FC_TECHROT) and expands localization coverage across 13 language variants (Czech, German, Spanish, French, Italian, Korean, Polish, Portuguese, Russian, Serbian, Turkish, Ukrainian, and Chinese). New entries include Prime warframes, weapons, vault relics, calendar events, and cosmetics.

Changes

Cohort / File(s) Summary
Faction Data Expansion
data/{cs,de,es,fr,it,ko,pl,pt,ru,sr,tr,uk,zh}/factionsData.json
Added two new faction entries: FC_SCALDRA ("Scaldra") and FC_TECHROT ("Techrot") to all 13 language variants of faction metadata.
Localization Expansions
data/{cs,de,es,fr,it,ko,pl,pt,ru,sr,tr,uk,zh}/languages.json
Added comprehensive new language mappings across all locales: Prime warframes (Octavia Prime, Nezha Prime); Prime weapons (Tenora Prime, Guandao Prime, Pandero Prime, Zakti Prime); T1–T4 Void Projection vault relics (Nezha/Octavia combinations); calendar/challenge entries (GenerateOmniOrbsOnWeakKill, CalendarKillEnemiesEasy, BalloonFest, DecayingFlesh, DisruptiveSounds, EfervonFog, HarshWords, Quicksand, Reinforcements, Starvation, Undersupplied, VoidAberration); ship decorations (Shawzin Prime, Bobble Heads); cosmetics (Ephemera, Syandanas); Mega Prime Vault packages; and various upgrade/skin entries.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10–15 minutes

  • Areas requiring attention:
    • Verify JSON syntax validity in each of the 26 modified files (no unclosed braces, quotes, or commas)
    • Confirm consistent key naming across all language variants (same English keys with locale-specific values)
    • Spot-check sample translations for reasonableness; full translation validation may require native-speaker review
    • Ensure no accidental overwrites or corruption of existing localization entries

Possibly related PRs

Suggested labels

released

Suggested reviewers

  • TobiTenno

Poem

🐰 Two factions rise—Scaldra and Techrot bold,
Prime relics gleam, Octavia's story told,
Across tongues vast, from Czech to Chinese streams,
New weapons shine in localized dreams,
A vault of translations, a bounty untold!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Title Check ❓ Inconclusive The PR title "New Crowdin updates" is related to the changeset, which does indeed contain localization updates from the Crowdin translation platform across multiple language files. However, the title is vague and generic, using non-descriptive terminology that fails to convey meaningful information about what is actually being changed. The changeset contains significant additions including two new factions (FC_SCALDRA and FC_TECHROT) across all language files and numerous new translations for Prime items, weapons, calendar entries, and other content, but the title provides no indication of this specific content. The title is similar in nature to the example "misc updates" in that it could describe any Crowdin localization update without conveying what is being added. Consider revising the title to be more specific about the content being updated, such as "Add localization for new Prime items and faction entries" or "Add Crowdin translations for Nezha Prime, Octavia Prime, and calendar updates". This would provide reviewers with clear information about what is being changed without requiring them to examine the detailed diff.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch l10n

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

Caution

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

⚠️ Outside diff range comments (1)
data/tr/factionsData.json (1)

5-6: Critical: FC_CORRUPTED maps to incorrect value "Orokin" (pre-existing bug).

This is a pre-existing issue in the base branch. Line 6 shows FC_CORRUPTED with value "Orokin", duplicating FC_OROKIN (line 15). Across other language files, FC_CORRUPTED should map to translations of "Corrupted" (e.g., "Corruptos" in Spanish, "Porабощённые" in Russian). This data corruption will break code depending on unique faction mappings.

Action required: Fix FC_CORRUPTED before merging (either in this PR or as a prerequisite fix in the base branch).

🧹 Nitpick comments (1)
data/uk/languages.json (1)

29-34: Unexpected English values in Ukrainian localization file.

New powersuit entries ("Octavia Prime", "Nezha Prime") and subsequent additions across hunks 1-7 have English value fields instead of Ukrainian translations. This is inconsistent with the surrounding Ukrainian entries (e.g., line 27: "Протея" for Odalisk). Verify whether these are intentionally preserved from Digital Extremes or incomplete translations awaiting localization.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9f51b33 and b42e0d3.

📒 Files selected for processing (26)
  • data/cs/factionsData.json (1 hunks)
  • data/cs/languages.json (20 hunks)
  • data/de/factionsData.json (1 hunks)
  • data/de/languages.json (20 hunks)
  • data/es/factionsData.json (1 hunks)
  • data/es/languages.json (20 hunks)
  • data/fr/factionsData.json (1 hunks)
  • data/fr/languages.json (20 hunks)
  • data/it/factionsData.json (1 hunks)
  • data/it/languages.json (20 hunks)
  • data/ko/factionsData.json (1 hunks)
  • data/ko/languages.json (20 hunks)
  • data/pl/factionsData.json (1 hunks)
  • data/pl/languages.json (20 hunks)
  • data/pt/factionsData.json (1 hunks)
  • data/pt/languages.json (20 hunks)
  • data/ru/factionsData.json (1 hunks)
  • data/ru/languages.json (20 hunks)
  • data/sr/factionsData.json (1 hunks)
  • data/sr/languages.json (20 hunks)
  • data/tr/factionsData.json (1 hunks)
  • data/tr/languages.json (20 hunks)
  • data/uk/factionsData.json (1 hunks)
  • data/uk/languages.json (20 hunks)
  • data/zh/factionsData.json (1 hunks)
  • data/zh/languages.json (20 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 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/zh/factionsData.json
  • data/it/languages.json
  • data/ko/languages.json
  • data/cs/languages.json
  • data/fr/languages.json
  • data/es/languages.json
  • data/uk/languages.json
  • data/zh/languages.json
  • data/ru/languages.json
  • data/pl/languages.json
  • data/de/languages.json
  • data/pt/languages.json
  • data/sr/languages.json
  • data/tr/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 (40)
data/cs/languages.json (3)

152-154: ****

The translation "Aristei Prime Shawzin" is verified as correct. This value appears identically across all 13 language files in the localization database, confirming it is the canonical name provided by Digital Extremes. Asset key names (e.g., LisetPropShawzinPrime) often differ from final display names in game localization—this is standard practice. No changes needed.

Likely an incorrect or invalid review comment.


1434-1437: Line number mismatch makes this review comment incorrect.

The snippet shows content from lines 1434-1437 ("Destroy Enemy Transport" / "Destroy Enemy Facility"), but the description being reviewed ("Max ammo on all weapons reduced by 75%") is actually at line 19436. These are unrelated entries in the file.

Additionally, per the established guidance for this repository, descriptions should remain as provided by Digital Extremes without modifying formatting inconsistencies. Any formatting differences, including missing periods, should reflect the source material.

Likely an incorrect or invalid review comment.


1245-1248: Line numbers in the review comment are incorrect and do not match the code being reviewed.

The review comment references lines 1245-1248, but the snippet shown contains alert entries, not the "DecayingFlesh" entry being discussed. The actual "DecayingFlesh" entry with the description "Max health reduced each time health damage is taken" (which indeed lacks a trailing period) is located at line 19245, not 1245.

Additionally, per the established guideline that descriptions should remain as provided by Digital Extremes without formatting modifications, any discrepancy in trailing periods should be preserved if that matches the source material.

Likely an incorrect or invalid review comment.

data/cs/factionsData.json (1)

25-31: Faction entries added with correct JSON structure.

The FC_SCALDRA and FC_TECHROT entries are properly formatted and consistently placed after FC_NARMER.

data/tr/factionsData.json (1)

25-31: Faction entries added with correct JSON structure (pending fix of FC_CORRUPTED above).

The FC_SCALDRA and FC_TECHROT entries are properly formatted and consistently placed after FC_NARMER. However, this file cannot be merged until the FC_CORRUPTED data corruption is resolved.

data/ru/factionsData.json (1)

25-31: Faction entries added with correct JSON structure.

The FC_SCALDRA and FC_TECHROT entries are properly formatted and consistently placed after FC_NARMER.

data/fr/factionsData.json (1)

25-31: Faction entries added with correct JSON structure.

The FC_SCALDRA and FC_TECHROT entries are properly formatted and consistently placed after FC_NARMER.

data/es/factionsData.json (1)

25-31: Faction entries added with correct JSON structure.

The FC_SCALDRA and FC_TECHROT entries are properly formatted and consistently placed after FC_NARMER.

data/pl/factionsData.json (1)

25-31: Faction entries added with correct JSON structure.

The FC_SCALDRA and FC_TECHROT entries are properly formatted and consistently placed after FC_NARMER.

data/sr/factionsData.json (1)

25-31: Faction entries added with correct JSON structure.

The FC_SCALDRA and FC_TECHROT entries are properly formatted and consistently placed after FC_NARMER.

data/pt/factionsData.json (1)

25-31: Faction entries added with correct JSON structure.

The FC_SCALDRA and FC_TECHROT entries are properly formatted and consistently placed after FC_NARMER.

data/uk/factionsData.json (1)

26-31: Verify localization status of new faction entries across all locales.

The new FC_SCALDRA and FC_TECHROT entries are in English across all language files (Ukrainian, Italian, German, Korean, Chinese), while all existing faction entries are localized (e.g., FC_NARMER="Нармер" in Ukrainian, "合一众" in Chinese). This breaks the localization pattern established for other factions.

Confirm whether:

  1. Translations for these factions are available in Crowdin but were not pulled
  2. These entries are intentionally left untranslated as new/unreleased content
  3. A Crowdin sync issue needs to be addressed
data/de/languages.json (2)

29-34: Localization data additions follow established patterns.

All new entries across Prime warframe cosmetics, vault relics, ship decorations, ephemera, syandanas, and weapons maintain consistent JSON structure and key naming conventions. German translations align with the Crowdin community contributions referenced in this PR.

Also applies to: 53-85, 152-166, 326-328, 383-385, 440-451, 597-620


19227-19444: Calendar/event modifiers with descriptions added successfully.

New challenge and event modifier entries (BalloonFest, DecayingFlesh, DisruptiveSounds, EfervonFog, FactionSwarm_Scaldra, FortifiedFoes, HarshWords, Quicksand, Reinforcements, Starvation, Undersupplied, VoidAberration) are properly structured with localized values and descriptions. Formatting variations in descriptions (e.g., some lines lack terminal punctuation on lines 19248 and 19436) are preserved as provided by the source, per established guidelines. Based on learnings

data/es/languages.json (2)

29-34: Approve store item and cosmetic translations.

The warframe Prime names (Octavia Prime, Nezha Prime), prime weapon entries (Tenora Prime, Guandao Prime, Pandero Prime, Zakti Prime), vault projections, ship decorations, ephemera, and syandana entries appear consistent and properly localized in Spanish.

Also applies to: 440-451, 152-166, 383-385, 326-328


19227-19230: Review comment is factually incorrect and should be ignored.

The Spanish language file does not contain a translation gap unique to Spanish. All flagged entries exist and match identically across Spanish (es), German (de), French (fr), and Italian (it) language files:

  • "FortifiedFoes" → "Sealed Armor" (identical across all languages)
  • "HarshWords" → "Barbed Glyphs" (identical across all languages)
  • "FactionSwarm_Scaldra" → "Scaldra Speed Run" (identical across all languages)
  • "BalloonFest" → English description (identical across all languages)

The Spanish file is not deficient; it correctly matches the pattern established in other language files. The review's premise—that Spanish should contain Spanish translations where other languages have English—is unfounded. Either this represents intentional design per Digital Extremes standards, or it is a broader multilingual issue affecting all languages equally, not a Spanish-specific problem.

Likely an incorrect or invalid review comment.

data/uk/languages.json (1)

700-703: Review: New event modifier descriptions remain in English.

Hunks 11–20 introduce event modifiers and calendar upgrades with English descriptions (e.g., "Involuntary Transfusion", "Barbed Glyphs", "Entanglement", "Ammo Deficit"). While the learning notes permit preserving descriptions as provided by DE without modification, confirm these English descriptions are intentional or placeholders pending Ukrainian translation. If these are final DE-provided strings, they should remain; if incomplete, Ukrainian translations should be added.

Also applies to: 19227-19229, 19245-19248, 19253-19256, 19265-19268, 19283-19286, 19287-19290, 19307-19310, 19363-19366, 19404-19407, 19419-19422, 19434-19437, 19441-19444

data/fr/languages.json (1)

29-34: LGTM! Localization additions are well-structured and properly integrated.

The French localization additions for new Prime Warframes, weapons, vault relics, Mega Prime Vault packs, and calendar challenges are formatted consistently with existing entries. All entries maintain the proper JSON structure with value-only fields for items and value+desc fields for upgrades/challenges. The translations appear professionally rendered and align with established French localization conventions used elsewhere in the file.

All descriptions have been preserved as provided by Digital Extremes without modification, as per localization standards.

Also applies to: 53-84, 152-166, 326-328, 383-385, 440-451, 460-463, 597-599, 609-620, 700-703, 19227-19444

data/it/languages.json (1)

29-19444: LGTM! The Italian localization additions are comprehensive and well-structured.

All 20 hunks follow the correct JSON structure with proper "value" and "desc" field mappings. The entries are complete, including new Prime warframes (Octavia Prime, Nezha Prime), Prime weapons (Tenora/Guandao/Pandero/Zakti Prime), vault relics, decorations, ephemera, syandanas, armor sets, and calendar upgrade modifiers. The new Scaldra faction references are consistent with the PR objectives. Italian localization choices (e.g., "Ballonfest" spelling variant, "Aristei Prime Shawzin" translation) are appropriate. No syntax errors or incomplete entries detected. Descriptions remain as provided by Digital Extremes, consistent with established guidance.

data/zh/languages.json (6)

29-34: JSON structure and format look good.

The new entries for Octavia Prime and Nezha Prime powersuits follow the existing pattern and are syntactically correct.


53-72: Vault relic entries are well-structured.

The additions for Nezha-Octavia vault relics across T1–T4 tiers maintain consistent English naming for relics, aligning with existing entries (e.g., "Lith M2 Relic", "Meso B3 Relic").


152-166: Ship decoration entries follow established patterns.

The new bobble head and Shawzin Prime entries are syntactically valid. Note: entries like "Aristei Prime Shawzin" should be verified against DE's official product nomenclature to ensure exact name matching.


326-328: Cosmetic and weapon entries are properly formatted.

Ephemera, syandana, and Prime weapon additions (Tenora Prime, Guandao Prime, Pandero Prime, Zakti Prime) maintain consistent structure and naming patterns.

Also applies to: 383-385, 440-451


700-703: Calendar upgrades and challenges with descriptions are retained as provided.

The additions include descriptions for event modifiers and challenges (e.g., "Ballonfest", "DecayingFlesh", "GenerateOmniOrbsOnWeakKill"). These appear grammatically correct and align with the learning that upgrade descriptions should remain as provided by Digital Extremes without modification.

Also applies to: 19227-19444


609-620: Mega Prime Vault package entries are correctly formatted.

The new package entries (dual packs, single packs, armor sets) follow the existing JSON structure consistently and contain no apparent errors.

data/pt/languages.json (1)

29-451: LGTM — Localization additions properly formatted.

All new Portuguese localization entries across 20 hunks follow established JSON structure and naming conventions. Format is consistent with existing entries, JSON syntax is valid, and no duplicate keys detected. Entries span Prime warframes (Octavia/Nezha), vault relics, weapons, cosmetics, and calendar event modifiers.

Per the learnings, descriptions remain as provided by Digital Extremes. Assuming Crowdin upstream validation has verified translation accuracy.

Also applies to: 597-703, 19227-19444

data/sr/languages.json (2)

29-34: Well‑structured additive localization updates.

All new Serbian localization entries follow the established JSON structure consistently, with proper key-value pairs and optional descriptions. The changes span multiple game categories (Prime warframes, vault relics, cosmetics, weapons, calendar challenges, and Mega Prime Vault content) and are cleanly integrated.

Also applies to: 53-85, 152-166, 326-328, 383-385, 440-451, 460-463, 597-599, 609-620, 700-703


19227-19230: Verify description consistency with Digital Extremes source data.

Per established learnings, descriptions in data/languages.json should remain as provided by Digital Extremes without modification. Additionally, line 19436 ("Max ammo on all weapons reduced by 75%") lacks a trailing period, while most other descriptions throughout the file include one (e.g., lines 698, 702). Confirm whether this inconsistency reflects the source data or should be corrected for uniformity.

Also applies to: 19245-19256, 19265-19290, 19307-19310, 19363-19366, 19404-19407, 19419-19422, 19434-19444

data/pl/languages.json (2)

29-34: Well-structured localization additions.

The Polish translations for store items (Powersuits, Projections, Weapons, Ship Decos, Syandanas, and Mega Prime Vault packages) follow consistent JSON formatting and integrate seamlessly with existing entries. All entries maintain the established key-value structure and naming conventions.

Also applies to: 53-85, 152-166, 326-328, 383-385, 440-451, 597-620


460-463: Calendar and challenge modifier entries properly integrated.

The new calendar challenges and upgrade entries (e.g., CalendarKillEnemiesEasy, GenerateOmniOrbsOnWeakKill) and challenge modifiers (BalloonFest, DecayingFlesh, FactionSwarm_Scaldra, etc.) follow the established format with value and desc fields. The additions align with the PR's scope of expanding localization coverage for new game content including the new Scaldra faction.

Per the learnings, descriptions have been preserved as provided by the source.

Also applies to: 700-703, 19227-19444

data/ru/languages.json (1)

29-34: LGTM! Localization additions are syntactically correct and structurally consistent.

All new entries (Prime warframes, vault relics, weapons, decorations, ephemera, syandanas, Mega Prime Vault bundles, and calendar modifiers including new Scaldra faction content) follow established JSON patterns with proper formatting. Mixed-language values (English and Russian Cyrillic) align with existing conventions where item names are preserved in English and descriptions sourced from Digital Extremes are maintained as-is. No structural or content defects identified.

Also applies to: 53-73, 83-85, 152-166, 326-328, 383-385, 440-451, 460-463, 597-599, 609-620, 700-703, 19227-19230, 19245-19248, 19253-19256, 19265-19268, 19283-19290, 19307-19310, 19363-19366, 19404-19407, 19419-19422, 19434-19437, 19441-19444

data/tr/languages.json (9)

29-34: Octavia and Nezha Prime warframe entries added correctly.

Proper structure and positioning between existing powersuit entries.


53-85: Void Projection relic entries for new Prime vaults properly formatted.

All six new entries (T1/T2/T3/T4 Nezha/Octavia variants) follow existing naming patterns and are correctly nested within the Projections namespace.


152-166: Ship decoration entries (Shawzin Prime and Noggle heads) well-integrated.

Entries are positioned logically and maintain consistent formatting with adjacent entries.


326-328: Ephemera and Syandana entries correctly added.

Turkish translations for Baurahn Prime Ephemera and Serenidine Prime Syandana are properly positioned within their respective namespaces.

Also applies to: 383-385


440-451: Prime weapon entries for Tenora, Guandao, Pandero, and Zakti Prime added cleanly.

All four weapon entries follow the established weapon namespace structure and are correctly nested.


460-463: Calendar challenge and upgrade entries properly structured.

New calendar challenge "Even the odds" and upgrade "Involuntary Transfusion" are well-formed with both value and description fields intact.

Also applies to: 700-703


597-620: Mega Prime Vault package entries correctly positioned.

New Nezha/Octavia Prime Pack variants and Ransha/Glissanda armor sets are properly nested within the MegaPrimeVault namespace and follow naming conventions.


19227-19444: Event modifier translations (20+ new entries) comprehensively added.

Entries for BalloonFest, DecayingFlesh, DisruptiveSounds, EfervonFog, FactionSwarm_Scaldra, FortifiedFoes, HarshWords, Quicksand, Reinforcements, Starvation, Undersupplied, and VoidAberration are all properly formatted with Turkish translations and descriptions preserved.


29-19444: Action: Turkish localization adds keys missing in English — confirm parity

Verification shows many new keys in data/tr/languages.json have no equivalents in data/en/languages.json (sample: /Lotus/StoreItems/Powersuits/Bard/OctaviaPrime, /Lotus/StoreItems/Powersuits/Nezha/NezhaPrime, /Lotus/StoreItems/Types/Game/Projections/T1VoidProjectionMagNovaVaultABronze, …). Add the matching English entries to data/en/languages.json or confirm these are intentionally Turkish-only.
Files: data/tr/languages.json, data/en/languages.json.

@TobiTenno TobiTenno enabled auto-merge (squash) November 3, 2025 01:34
@TobiTenno TobiTenno merged commit b31ea26 into master Nov 3, 2025
11 checks passed
@TobiTenno TobiTenno deleted the l10n branch November 3, 2025 01:34
@wfcd-bot-boi
Copy link
Contributor Author

🎉 This PR is included in version 3.1.9 🎉

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