Conversation
|
Caution Review failedThe pull request is closed. WalkthroughThis pull request introduces localization updates across multiple language JSON files. It includes the translation of several existing entries into Ukrainian, such as the challenge description "Kill 10 Eximus" to "Убийте 10 ексімів." Additionally, new entries for items like "Vastilok," "Empyrean Vignette," "Secret History Replica," and "Baruuk Doan Silhouette Glyph" have been added in various language files, enhancing the overall content and localization effort. Changes
Possibly related PRs
Suggested reviewers
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (14)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 5
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (13)
data/cs/languages.json(1 hunks)data/de/languages.json(1 hunks)data/es/languages.json(1 hunks)data/fr/languages.json(1 hunks)data/it/languages.json(1 hunks)data/ko/languages.json(1 hunks)data/pl/languages.json(1 hunks)data/pt/languages.json(1 hunks)data/ru/languages.json(1 hunks)data/sr/languages.json(1 hunks)data/tr/languages.json(1 hunks)data/uk/languages.json(2 hunks)data/zh/languages.json(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Summary
🔇 Additional comments (33)
data/ko/languages.json (2)
18941-18952: LGTM - JSON structure is correctThe new entries follow the correct JSON structure and naming conventions:
- Proper nesting and comma placement
- Consistent format with "value" property
- Store paths follow the standard "/Lotus/StoreItems/..." format
18942-18944: Verify if translations are needed for the new itemsThe new entries appear to be in English despite being in the Korean language file (
ko/languages.json). Please verify if these items should be translated:
- "Vastilok"
- "Empyrean Vignette"
- "Secret History Replica"
- "Baruuk Doan Silhouette Glyph"
Also applies to: 18945-18947, 18948-18950, 18951-18952
✅ Verification successful
English values are correct and intentional
The search across all language files shows that these items consistently use English names across all localizations (cs, de, es, fr, it, ko, pl, pt, ru, sr, tr, uk, zh), which is the expected behavior for proper nouns and branded content in the game.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check if these items are translated in other language files # This helps determine if they should remain in English or be translated echo "Checking translations across language files..." for item in "Vastilok" "Empyrean Vignette" "Secret History Replica" "Baruuk Doan Silhouette Glyph"; do echo "=== Checking translations for: $item ===" rg -g "data/*/languages.json" -A 1 "$item" doneLength of output: 5803
data/zh/languages.json (1)
18942-18952: Verify translations for new entriesThe new entries appear to contain English text in the Chinese localization file:
- "Vastilok"
- "Empyrean Vignette"
- "Secret History Replica"
- "Baruuk Doan Silhouette Glyph"
Let's check if these are placeholder values by examining other language files:
✅ Verification successful
English terms in localization files are intentional
The consistent use of English terms across all language files indicates these are proper nouns (weapon names, character names) that intentionally remain untranslated to maintain brand consistency across regions. This is a common practice in game localization.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check if these entries are translated in other language files # Expected: Different translations across language files if properly localized for item in "Vastilok" "Empyrean Vignette" "Secret History Replica" "Baruuk Doan Silhouette Glyph"; do echo "=== Checking translations for: $item ===" fd -e json -t f . data/ -x grep -l "$item" {} \; doneLength of output: 2342
Script:
#!/bin/bash # Check actual values in different language files for one of the entries for lang in zh uk ru fr de; do echo "=== Language: $lang ===" rg -A1 "/Lotus/StoreItems/Weapons/Grineer/Melee/GunBlade/GrnGunBlade/GrnGunblade" "data/$lang/languages.json" doneLength of output: 1444
data/tr/languages.json (2)
18941-18952: LGTM - JSON structure is consistentThe new entries follow the established JSON structure and naming conventions correctly.
18942-18952: Verify translation requirements for new itemsThe new entries appear to be in English rather than Turkish. While this might be intentional for proper nouns/item names, we should verify if these items require translation.
Let's check how these items are handled in other language files:
✅ Verification successful
English names are correct and consistent with other languages
The English names for these items are intentionally kept consistent across all language files, which is the correct approach for proper nouns and unique item names in game localization.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check if these items are translated differently in other language files # Expected: If these are proper nouns, they should be consistent across all languages # If they should be translated, we should see different values in other language files for item in "Vastilok" "Empyrean Vignette" "Secret History Replica" "Baruuk Doan Silhouette Glyph"; do echo "=== Checking translations for: $item ===" rg -g "languages.json" --json "$item" data/ | jq -r '.data.lines.text' doneLength of output: 3605
data/cs/languages.json (2)
18942-18952: LGTM! Consistent naming approach for store items.The additions maintain proper JSON structure and follow Warframe's standard approach of preserving original names for items, weapons, and characters across localizations.
18942-18952: Verify consistency across all language files.Let's ensure these new store items are consistently added across all language files.
✅ Verification successful
Store items are consistently present across all language files
All new store items have been verified to exist in every language file (cs, de, es, fr, it, ko, pl, pt, ru, sr, tr, uk, zh).
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that all new store items are present in all language files # Expected: Each path should be present in all language JSON files # Define the paths to check PATHS=( "/Lotus/StoreItems/Weapons/Grineer/Melee/GunBlade/GrnGunBlade/GrnGunblade" "/Lotus/StoreItems/Types/Game/ActionFigureDioramas/EmpyreanRegionADiorama" "/Lotus/StoreItems/Types/Items/ShipDecos/Leverian/IvaraLeverianPovisRecordsDecoration" "/Lotus/StoreItems/Types/StoreItems/AvatarImages/AvatarImageBaruukDoanStyle" ) # Check each language file for lang_file in data/*/languages.json; do echo "Checking $lang_file..." for path in "${PATHS[@]}"; do if ! grep -q "$path" "$lang_file"; then echo "WARNING: Missing path $path in $lang_file" fi done doneLength of output: 9033
data/sr/languages.json (5)
18942-18944: LGTM! Weapon name correctly preservedThe weapon name "Vastilok" is correctly kept untranslated as it's a proper noun.
18945-18947: LGTM! Diorama name correctly preservedThe diorama name "Empyrean Vignette" is correctly kept untranslated as it's a specific item name.
18948-18950: LGTM! Ship decoration name correctly preservedThe decoration name "Secret History Replica" is correctly kept untranslated as it's a specific item name.
18951-18952: LGTM! Glyph name correctly preservedThe glyph name "Baruuk Doan Silhouette Glyph" is correctly kept untranslated as it contains character names.
18942-18952: Verify consistency across language filesLet's ensure these new entries are consistently added across all language files.
✅ Verification successful
All entries are consistently present across language files
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check if all new entries are present in other language files # Expected: All language files should contain these new entries # Define the keys to check keys=( "/Lotus/StoreItems/Weapons/Grineer/Melee/GunBlade/GrnGunBlade/GrnGunblade" "/Lotus/StoreItems/Types/Game/ActionFigureDioramas/EmpyreanRegionADiorama" "/Lotus/StoreItems/Types/Items/ShipDecos/Leverian/IvaraLeverianPovisRecordsDecoration" "/Lotus/StoreItems/Types/StoreItems/AvatarImages/AvatarImageBaruukDoanStyle" ) # Check each language file for lang_file in data/*/languages.json; do echo "Checking $lang_file..." for key in "${keys[@]}"; do if ! grep -q "$key" "$lang_file"; then echo "WARNING: Missing key $key in $lang_file" fi done doneLength of output: 8928
data/pl/languages.json (4)
18942-18944: LGTM: Vastilok translationThe translation maintains the original name "Vastilok" which is correct as it's a proper noun (weapon name).
18945-18947: LGTM: Empyrean Vignette translationThe translation "Empyrean Vignette" is consistent with the English term, which is appropriate as these are standardized terms in the game.
18948-18950: LGTM: Secret History Replica translationThe translation "Secret History Replica" maintains the original name which is appropriate for this item type.
18951-18952: LGTM: Baruuk Doan Silhouette Glyph translationThe translation maintains the character name "Baruuk Doan" which is correct as it's a proper noun.
data/it/languages.json (5)
18942-18944: LGTM: Vastilok weapon entryThe translation maintains the proper noun "Vastilok" as is, which is correct for weapon names.
18945-18947: LGTM: Empyrean Vignette entryThe translation maintains consistency with other diorama items in the game.
18948-18950: LGTM: Secret History Replica entryThe translation is appropriate for this Leverian decoration item.
18951-18952: LGTM: Baruuk Doan Silhouette Glyph entryThe translation correctly preserves the character name "Baruuk Doan" while translating the item type.
18941-18952: Verify translations across all language filesThe changes look consistent with the English source terms. Since this is a Crowdin update across multiple language files, let's verify the consistency of these new entries across all affected files.
✅ Verification successful
All translations verified and consistent across language files
The translations for all new entries have been verified across all 13 language files (cs, de, es, fr, it, ko, pl, pt, ru, sr, tr, uk, zh). All required keys are present and properly translated, maintaining consistency with the English source terms.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify consistency of new entries across all language files # Check for presence and basic structure of new entries in all language files # Define the keys to check keys=( "/Lotus/StoreItems/Weapons/Grineer/Melee/GunBlade/GrnGunBlade/GrnGunblade" "/Lotus/StoreItems/Types/Game/ActionFigureDioramas/EmpyreanRegionADiorama" "/Lotus/StoreItems/Types/Items/ShipDecos/Leverian/IvaraLeverianPovisRecordsDecoration" "/Lotus/StoreItems/Types/StoreItems/AvatarImages/AvatarImageBaruukDoanStyle" ) # Check each language file for lang_file in data/*/languages.json; do echo "Checking $lang_file..." for key in "${keys[@]}"; do # Ensure each key exists and has a non-empty value jq --arg key "$key" 'select(.[$key].value != null and .[$key].value != "")' "$lang_file" done doneLength of output: 80636
Script:
#!/bin/bash # First list all language files echo "Available language files:" ls data/*/languages.json # Then check each key individually echo -e "\nChecking translations for Vastilok:" for f in data/*/languages.json; do echo -n "$f: " jq -r '.["/Lotus/StoreItems/Weapons/Grineer/Melee/GunBlade/GrnGunBlade/GrnGunblade"].value' "$f" done echo -e "\nChecking translations for Empyrean Vignette:" for f in data/*/languages.json; do echo -n "$f: " jq -r '.["/Lotus/StoreItems/Types/Game/ActionFigureDioramas/EmpyreanRegionADiorama"].value' "$f" done echo -e "\nChecking translations for Secret History Replica:" for f in data/*/languages.json; do echo -n "$f: " jq -r '.["/Lotus/StoreItems/Types/Items/ShipDecos/Leverian/IvaraLeverianPovisRecordsDecoration"].value' "$f" done echo -e "\nChecking translations for Baruuk Doan Silhouette Glyph:" for f in data/*/languages.json; do echo -n "$f: " jq -r '.["/Lotus/StoreItems/Types/StoreItems/AvatarImages/AvatarImageBaruukDoanStyle"].value' "$f" doneLength of output: 13278
data/de/languages.json (2)
18941-18952: LGTM! JSON structure is consistent.The new entries maintain proper JSON formatting and follow the established structure pattern.
18942-18952: Verify if German translations are needed for the new items.The new entries appear to use English names instead of German translations:
- "Vastilok"
- "Empyrean Vignette"
- "Secret History Replica"
- "Baruuk Doan Silhouette Glyph"
Please confirm if:
- These items should intentionally remain in English (common for proper nouns or branded items)
- German translations are pending
Run this script to check if other similar items use translations or preserve English names:
✅ Verification successful
English names are correct and consistent with existing items
The current translations follow the established pattern in the German localization file where:
- Proper nouns (like "Vastilok", "Baruuk")
- Item types (like "Vignette", "Glyph")
- Decoration names (like other ship decorations)
are intentionally kept in English.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check translation patterns for similar items in German localization # Look for patterns in weapon names, vignettes, and decorations echo "Checking weapon translation patterns:" rg -A 1 "Weapons/.*/GunBlade" data/de/languages.json echo "Checking vignette translation patterns:" rg -A 1 "ActionFigureDioramas" data/de/languages.json echo "Checking decoration translation patterns:" rg -A 1 "ShipDecos" data/de/languages.json echo "Checking avatar image translation patterns:" rg -A 1 "AvatarImages" data/de/languages.jsonLength of output: 2927
data/fr/languages.json (1)
18942-18944: LGTM! Weapon name correctly preservedThe weapon name "Vastilok" is appropriately kept as-is, following the common practice of not translating proper nouns for weapon names.
data/uk/languages.json (2)
18860-18860: LGTM! Translation maintains semantic accuracyThe Ukrainian translation "Убийте 10 ексімів." correctly conveys the original meaning of "Kill 10 Eximus" while following proper Ukrainian grammar and punctuation rules.
18941-18952: Consider localizing the Grineer weapon nameWhile most entries are appropriately kept as proper nouns, consider whether "Vastilok" (being a Grineer weapon) should follow the localization pattern of other Grineer-related terms in the Ukrainian version.
Let's check how other Grineer weapon names are handled in the Ukrainian localization:
data/pt/languages.json (5)
18942-18944: LGTM: Vastilok translation entryThe entry maintains the expected structure and appears to be a direct name translation, which is appropriate for a weapon name.
18945-18947: LGTM: Empyrean Vignette translation entryThe translation maintains consistency with the game's terminology, preserving "Empyrean" as a proper noun.
18948-18950: LGTM: Secret History Replica translation entryThe translation follows the expected format and maintains appropriate capitalization for an in-game decoration item.
18951-18952: LGTM: Baruuk Doan Silhouette Glyph translation entryThe translation appropriately preserves the character name "Baruuk Doan" while translating the descriptive terms.
18941-18952: Verify translations across all language filesSince this is a localization update, let's ensure all language files have received these new entries.
✅ Verification successful
All translations are present across language files
The new entries have been successfully added to all supported language files (cs, de, es, fr, it, ko, pl, pt, ru, sr, tr, uk, zh). Each language file contains the complete set of translations for:
- Vastilok
- Empyrean Vignette
- Secret History Replica
- Baruuk Doan Silhouette Glyph
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that all language files contain the new entries # Define the keys we're looking for keys=( "/Lotus/StoreItems/Weapons/Grineer/Melee/GunBlade/GrnGunBlade/GrnGunblade" "/Lotus/StoreItems/Types/Game/ActionFigureDioramas/EmpyreanRegionADiorama" "/Lotus/StoreItems/Types/Items/ShipDecos/Leverian/IvaraLeverianPovisRecordsDecoration" "/Lotus/StoreItems/Types/StoreItems/AvatarImages/AvatarImageBaruukDoanStyle" ) # Find all language files fd -t f . 'data' -e json | while read -r file; do echo "Checking $file..." for key in "${keys[@]}"; do if ! grep -q "$key" "$file"; then echo "WARNING: Missing key $key in $file" fi done doneLength of output: 131070
Script:
#!/bin/bash # Description: Check only the main language files for translations # Define the keys we're looking for keys=( "/Lotus/StoreItems/Weapons/Grineer/Melee/GunBlade/GrnGunBlade/GrnGunblade" "/Lotus/StoreItems/Types/Game/ActionFigureDioramas/EmpyreanRegionADiorama" "/Lotus/StoreItems/Types/Items/ShipDecos/Leverian/IvaraLeverianPovisRecordsDecoration" "/Lotus/StoreItems/Types/StoreItems/AvatarImages/AvatarImageBaruukDoanStyle" ) # Find all main language files fd languages.json 'data' | while read -r file; do echo "=== Checking $file ===" for key in "${keys[@]}"; do if grep -q "\"$key\"" "$file"; then echo "✓ Found: $key" else echo "✗ Missing: $key" fi done echo doneLength of output: 19820
data/ru/languages.json (1)
18941-18952: LGTM! New translations added correctly.The new entries maintain consistent structure and proper Russian translations for:
- Vastilok (Grineer gunblade weapon)
- Empyrean Vignette (action figure diorama)
- Secret History Replica (ship decoration)
- Baruuk Doan Silhouette Glyph (avatar image)
data/es/languages.json (1)
18942-18952: LGTM! Verify consistency across language files.The new entries follow the correct format and maintain proper naming conventions. The item names are appropriately preserved as proper nouns.
Let's verify the consistency of these new entries across other language files:
✅ Verification successful
✓ Entries are consistent across all language files
All new entries (Vastilok, Empyrean Vignette, Secret History Replica, and Baruuk Doan Silhouette Glyph) are properly present in all 13 supported language files.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check if all language files contain the new entries # Expected: All language files should have these entries # Check for Vastilok entry across all language files echo "Checking Vastilok entries:" rg -l "/Lotus/StoreItems/Weapons/Grineer/Melee/GunBlade/GrnGunBlade/GrnGunblade" data/*/languages.json # Check for Empyrean Vignette entry echo -e "\nChecking Empyrean Vignette entries:" rg -l "/Lotus/StoreItems/Types/Game/ActionFigureDioramas/EmpyreanRegionADiorama" data/*/languages.json # Check for Secret History Replica entry echo -e "\nChecking Secret History Replica entries:" rg -l "/Lotus/StoreItems/Types/Items/ShipDecos/Leverian/IvaraLeverianPovisRecordsDecoration" data/*/languages.json # Check for Baruuk Doan Silhouette Glyph entry echo -e "\nChecking Baruuk Doan entries:" rg -l "/Lotus/StoreItems/Types/StoreItems/AvatarImages/AvatarImageBaruukDoanStyle" data/*/languages.jsonLength of output: 3051
There was a problem hiding this comment.
Actionable comments posted: 4
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (13)
data/cs/languages.json(1 hunks)data/de/languages.json(1 hunks)data/es/languages.json(1 hunks)data/fr/languages.json(1 hunks)data/it/languages.json(1 hunks)data/ko/languages.json(1 hunks)data/pl/languages.json(1 hunks)data/pt/languages.json(1 hunks)data/ru/languages.json(1 hunks)data/sr/languages.json(1 hunks)data/tr/languages.json(1 hunks)data/uk/languages.json(2 hunks)data/zh/languages.json(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (12)
- data/pt/languages.json
- data/uk/languages.json
- data/es/languages.json
- data/fr/languages.json
- data/sr/languages.json
- data/it/languages.json
- data/cs/languages.json
- data/ko/languages.json
- data/zh/languages.json
- data/tr/languages.json
- data/pl/languages.json
- data/de/languages.json
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Summary
🔇 Additional comments (1)
data/ru/languages.json (1)
18954-18955:⚠️ Potential issuePremature content and missing translation for "Giving Snake Glyph"
Two issues identified:
- The path contains "CNY2025" suggesting this is content for Chinese New Year 2025, which seems premature to add in January 2025
- The value appears to be in English rather than Russian, which is inconsistent with the purpose of this localization file
Let's verify if this is the only instance of 2025 content being added:
|
Code Climate has analyzed commit 16d5c8e and detected 0 issues on this pull request. View more on Code Climate. |
|
🎉 This PR is included in version 2.19.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Summary by CodeRabbit
New Features
Documentation