Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Crowdin updates #589

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
Open

New Crowdin updates #589

wants to merge 13 commits into from

Conversation

wfcd-bot-boi
Copy link
Contributor

@wfcd-bot-boi wfcd-bot-boi commented Dec 18, 2024

No description provided.

Copy link

coderabbitai bot commented Dec 18, 2024

Warning

Walkthrough skipped

File diffs could not be summarized.


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?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

codeclimate bot commented Dec 18, 2024

Code Climate has analyzed commit 33ff1ce and detected 0 issues on this pull request.

View more on Code Climate.

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: 13

🧹 Nitpick comments (5)
data/cs/languages.json (1)

18858-18861: Maintain consistent punctuation in challenge descriptions.

Some challenge descriptions end with periods while others don't. Consider standardizing the format across all challenges.

Example inconsistencies:

  • "Kill 10 Eximus" (no period)
  • "Kill 300 Enemies with Abilities" (no period)
    vs
  • "Kill 300 Scaldra Troops with Melee Weapons" (no period)
  • "Destroy 150 Containers" (no period)

Suggest removing periods from all challenge descriptions for consistency.

Also applies to: 18874-18877, 18890-18893, 18894-18897, 18913-18916, 18923-18926

data/uk/languages.json (1)

18859-18860: Review challenge descriptions for clarity

The calendar challenges have varying formats and specificity:

  • Some specify exact numbers: "Kill 10 Eximus"
  • Others use larger numbers: "Kill 250 Scaldra Troops", "Kill 1,000 Techrot"
  • Some have thematic names but might need clearer descriptions

Consider standardizing the format of challenge descriptions for consistency.

Also applies to: 18875-18876, 18891-18892, 18894-18897, 18914-18915, 18924-18925

data/zh/languages.json (1)

18858-18861: Consider localizing numeric values in descriptions

Challenge descriptions contain numeric values (e.g., "Kill 10 Eximus", "Kill 250 Scaldra Troops", "Kill 300 Enemies"). Consider whether these numbers should be formatted according to Chinese locale conventions.

Also applies to: 18874-18877, 18890-18893, 18894-18897, 18913-18916, 18923-18926

data/sr/languages.json (2)

18858-18861: Verify consistency in challenge descriptions

The calendar challenges follow a consistent pattern but there are some minor inconsistencies in capitalization:

  • "Kill 10 Eximus" (no period)
  • "Kill 250 Scaldra Troops" (no period)
  • "Kill 300 Enemies with Abilities" (no period)
    vs
  • "Destroy 150 Containers" (no period)
  • "Kill 1,000 Techrot" (no period)

Consider standardizing the format of all challenge descriptions by:

  1. Using consistent capitalization
  2. Adding or removing periods consistently
  3. Using consistent number formatting (e.g., whether to use commas for thousands)
-    "desc": "Kill 300 Enemies with Abilities"
+    "desc": "Kill 300 enemies with abilities"

Also applies to: 18874-18877, 18890-18897, 18913-18916, 18923-18926


18862-18873: Ensure consistent formatting in buff descriptions

The upgrade/buff descriptions have some inconsistencies in formatting:

  • Some end with periods: "Gain +250 Armor."
  • Some don't: "+25% Melee Attack Speed"
  • Some use different number formats: "2/s" vs "25%"

Consider standardizing all buff descriptions to follow the same format:

  1. Consistent use of periods at the end
  2. Consistent number formatting
  3. Consistent unit notation
-    "desc": "Increase energy restoration by 2/s."
+    "desc": "Increase energy restoration by 2 per second."
-    "desc": "+25% Melee Attack Speed"
+    "desc": "Increase melee attack speed by 25%."

Also applies to: 18898-18909, 18930-18940

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3765b41 and 33ff1ce.

📒 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 (1 hunks)
  • data/zh/languages.json (1 hunks)
🔥 Files not summarized due to errors (13)
  • data/cs/languages.json: Error: Server error: no LLM provider could handle the message
  • data/de/languages.json: Error: Server error: no LLM provider could handle the message
  • data/es/languages.json: Error: Server error: no LLM provider could handle the message
  • data/fr/languages.json: Error: Server error: no LLM provider could handle the message
  • data/it/languages.json: Error: Server error: no LLM provider could handle the message
  • data/ko/languages.json: Error: Server error: no LLM provider could handle the message
  • data/pl/languages.json: Error: Server error: no LLM provider could handle the message
  • data/pt/languages.json: Error: Server error: no LLM provider could handle the message
  • data/ru/languages.json: Error: Server error: no LLM provider could handle the message
  • data/sr/languages.json: Error: Server error: no LLM provider could handle the message
  • data/tr/languages.json: Error: Server error: no LLM provider could handle the message
  • data/uk/languages.json: Error: Server error: no LLM provider could handle the message
  • data/zh/languages.json: Error: Server error: no LLM provider could handle the message
🔇 Additional comments (31)
data/tr/languages.json (1)

18857-18940: Content requires Turkish translation

The file is in the Turkish language directory (data/tr/), but all the newly added content is in English. This appears to be new source content that needs to be translated to Turkish through Crowdin.

Let's verify if this is the expected workflow:

data/ko/languages.json (1)

18857-18940: Verify the translation status of newly added strings

Most of the newly added strings are in English rather than Korean, which is unusual for a Crowdin update. Only one string "틱 스킨" (line 18867) is translated to Korean. This might indicate:

  1. These strings are newly added and haven't been translated yet
  2. There might be an issue with the Crowdin sync process

Let's verify the translation patterns in this file:

✅ Verification successful

Untranslated strings are expected in this Crowdin update

The analysis shows this is normal behavior for a localization file:

  • The Korean file has 4,281 Korean translations out of 6,221 total entries (~69% translated)
  • All language files have the same total number of entries (6,221)
  • All other language files also contain English text (12,719 matches), indicating that untranslated strings defaulting to English is a common pattern

The presence of untranslated strings in the newly added content is normal for Crowdin updates, as translations are typically added incrementally by the community after the source strings are introduced.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check the ratio of Korean to English text in the file
# and compare with other language files for similar patterns

# Count entries with Korean characters (Hangul Unicode range)
echo "Korean translations:"
rg -c "[가-힣]" data/ko/languages.json

# Count total entries
echo "Total entries:"
rg -c '"value":' data/ko/languages.json

# Check if other language files show similar patterns
echo "Files with similar untranslated content:"
for f in data/*/languages.json; do
  if [[ "$f" != "data/ko/languages.json" ]]; then
    echo "=== $f ==="
    rg -c '"value":' "$f"
    rg -c "[A-Za-z]" "$f"
  fi
done

Length of output: 3719

data/cs/languages.json (3)

18857-18857: LGTM! Store item translations are consistent.

The item name translations maintain proper capitalization and clear naming conventions.

Also applies to: 18879-18880, 18882-18883, 18885-18886, 18888-18889, 18911-18912, 18918-18919, 18921-18922, 18928-18929


18862-18873: LGTM! Upgrade descriptions are well-formatted and clear.

The upgrade/modifier descriptions maintain:

  • Consistent punctuation
  • Clear numeric value formatting
  • Precise mechanical explanations

Also applies to: 18898-18909, 18930-18940


18857-18940: Verify JSON structure validity.

While the structure appears correct, let's verify the JSON syntax.

✅ Verification successful

JSON structure is valid and well-formed

The file has been verified to have correct JSON syntax and structure.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify JSON syntax validity
jq '.' data/cs/languages.json > /dev/null
if [ $? -eq 0 ]; then
    echo "JSON syntax is valid"
else
    echo "JSON syntax error detected"
fi

Length of output: 98

data/es/languages.json (4)

18858-18861: Challenge descriptions look good!

The challenge descriptions maintain a consistent format with clear titles and descriptions. The structure is well-maintained across all entries.

Also applies to: 18874-18877, 18890-18897, 18913-18916, 18923-18926


18862-18873: Upgrade descriptions are well-formatted and detailed

The upgrade descriptions maintain consistency in format while accurately conveying technical game mechanics and numerical values. The translations preserve the necessary technical information.

Also applies to: 18898-18909, 18930-18940


18878-18880: Store items are properly formatted

The store items maintain consistent formatting for bundle names and numerical values. The translations preserve the necessary quantity indicators and item names.

Also applies to: 18887-18889, 18910-18912, 18920-18922


18857-18940: Verify JSON structure validity

While the structure appears correct, let's verify the JSON validity.

✅ Verification successful

JSON structure is valid and well-formed

The JSON file has been verified using jq and confirmed to be syntactically correct with proper nesting, key-value pairs, and comma separation.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify JSON structure validity
jq '.' data/es/languages.json > /dev/null
if [ $? -eq 0 ]; then
    echo "JSON is valid"
else
    echo "JSON validation failed"
fi

Length of output: 84

data/de/languages.json (1)

18857-18940: JSON structure looks good

The JSON formatting is consistent and valid throughout the file.

data/it/languages.json (2)

18857-18940: LGTM: JSON structure is well-formed

The JSON structure follows a consistent pattern with proper nesting and formatting.


18878-18889: 🛠️ Refactor suggestion

Verify consistency with existing game terminology

Please ensure these item names match the established Italian translations in the game:

  • "Arcane Enhancements"
  • "Emerald Archon Shard"
  • "Exilus Weapon Adapter"
  • "Endo"

Consider checking against the game's glossary or style guide for consistent terminology.

Also applies to: 18910-18912, 18917-18922, 18927-18929

✅ Verification successful

Translations are consistent with existing game terminology

The search results confirm that the translations in the reviewed segment are consistent with existing terminology in the game:

  • "Arcane Enhancements" appears as "Arcane Enhancements" in other entries
  • "Emerald Archon Shard" follows the same pattern as other Archon Shard translations (e.g., "Tauforged Azure/Amber/Crimson Archon Shard")
  • "Exilus Weapon Adapter" and its Blueprint variant are consistently translated
  • "Endo" is consistently used as "Endo" across numerous entries
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for existing translations of these terms in other files
rg -g '*.json' "Arcane Enhancements|Archon Shard|Exilus|Endo" ./data/it/

Length of output: 6896

data/uk/languages.json (4)

18857-18880: LGTM: Store items and rewards section

The store items and rewards section (including Archon Shards, Arcane Enhancements, etc.) follows a consistent format and naming convention.


18934-18940: LGTM: Buff descriptions

The buff descriptions for "No Quarter" and "Got Your Back" are clear and follow a consistent format with specific numerical values.


18899-18901: Verify numerical values in buff descriptions

Several buff descriptions contain specific numerical values that should be verified for accuracy:

  • "+5% Melee Attack Speed and +20% Fire Rate"
  • "25% chance to duplicate"
  • "5% per Multiplier Max 65%"
  • "10% for 10s"

These values might need balancing review to ensure they match the game design intentions.

Also applies to: 18903-18905, 18907-18909, 18931-18933

✅ Verification successful

Numerical values in buff descriptions are consistent across all translations

The verification shows that all numerical values in the buff descriptions are identical across all language files:

  • "+5% Melee Attack Speed and +20% Fire Rate" for More the Merrier
  • "25% chance to duplicate" for Targeted Medicine
  • "5% per Multiplier Max 65%" for Combo Killer
  • "10% for 10s" for Broadened Horizons
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for other occurrences of these buffs to cross-reference values
rg -A 1 "CompanionsBuffNearbyPlayer|OrbsDuplicateOnPickup|FinisherChancePerComboMultiplier|EnergyOrbToAbilityRange" --glob '*.json'

Length of output: 7960


Script:

#!/bin/bash
# Let's search for the descriptions to verify consistency of numerical values across translations
rg -A 1 "20m all gain \+5% Melee Attack Speed and \+20% Fire Rate|25% chance to duplicate|5% per Multiplier Max 65%|10% for 10s" --glob '*.json'

Length of output: 9485


18885-18886: ⚠️ Potential issue

Inconsistent translation language detected

Only two entries are in Ukrainian while the rest are in English:

  • "Ексилотримач для зброї (креслення)"
  • "Тримач містифікаторів для допоміжної зброї"

This inconsistency might indicate missing translations for other entries.

Also applies to: 18918-18919

data/fr/languages.json (3)

18857-18940: JSON structure looks good!

The file maintains proper JSON structure with consistent formatting throughout all new entries.


18857-18940: Content formatting is consistent

Good consistency in:

  • Number formatting (e.g., "1,000")
  • Percentage notation
  • Capitalization
  • Punctuation

18857-18940: ⚠️ Potential issue

Missing French translations in fr/languages.json

This file is located in the French localization directory (data/fr/languages.json), but most entries are still in English. Only one entry "Adaptateur D'Arcane Secondaire" is translated to French. All other entries should be translated to French to maintain consistency.

Let's verify if this is a common pattern in the file:

data/ru/languages.json (2)

18857-18940: Structure and formatting look good

The JSON structure is consistent throughout the file, with proper key-value pairs and nested objects. The format follows the established pattern for localization entries.


18857-18940: ⚠️ Potential issue

Translation inconsistency detected: Most entries are in English despite being in the Russian localization file

I notice that out of all the new entries, only one line (18918: "Адаптер Для Мистификатора Вторичного Оружия") is actually in Russian, while all other entries remain in English. This seems unusual for a Crowdin update PR in the Russian localization file.

Let's verify the translation status:

This could indicate:

  1. Incomplete translation work in Crowdin
  2. Synchronization issues with the Crowdin platform
  3. Default English fallbacks being accidentally committed

Consider:

  • Verifying the Crowdin sync process
  • Checking if these strings are actually available for translation in Crowdin
  • Confirming if this is the expected behavior for partial translation updates
data/pl/languages.json (5)

18857-18886: LGTM: Store items and resources translations are properly structured

The translations for Archon Shards, Calendar packs, and Exilus adapters maintain consistent formatting and include all required fields.


18910-18940: Consistent formatting and structure maintained

The remaining translations maintain proper JSON structure with:

  • Consistent use of quotation marks
  • Proper comma separation
  • Required fields (value, desc) where applicable

18857-18940: Verify JSON syntax validity

The overall structure appears correct, but let's verify the JSON syntax.

✅ Verification successful

JSON syntax is valid and properly formatted

The JSON syntax in the file data/pl/languages.json has been verified and is syntactically correct. All key-value pairs are properly formatted with appropriate commas, quotes, and braces.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify JSON syntax
jq '.' "data/pl/languages.json" >/dev/null
if [ $? -eq 0 ]; then
    echo "JSON syntax is valid"
else
    echo "JSON syntax error detected"
fi

Length of output: 98


18887-18897: Verify challenge reward consistency

The Kuva bundle and combat challenges appear to follow game mechanics, but let's verify the numbers are consistent with game design.

✅ Verification successful

Let me search for more specific patterns related to ability and melee kills to better verify the consistency.


Let me check specifically for Scaldra-related challenges to complete the verification.


Challenge requirements are consistent with game design

Based on the verification results across all language files, the challenge requirements are consistent with established patterns:

  • The "Kill 300 Enemies with Abilities" requirement matches other ability-based challenges (150-300 range)
  • The "Kill 300 Scaldra Troops with Melee Weapons" requirement aligns with other Scaldra-specific challenges (250-300 range)
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for similar challenge patterns to verify consistency of required kills
rg -g '*.json' '"Kill \d+ (Enemies|Troops)"' | sort -u

Length of output: 1260


Script:

#!/bin/bash
# Search for ability and melee kill challenges to verify consistency
rg -g '*.json' '"Kill \d+ .* with (Abilities|Melee)"' | sort -u

Length of output: 1725


Script:

#!/bin/bash
# Search for Scaldra-related challenges
rg -g '*.json' -i 'scaldra' | sort -u

Length of output: 5650


18898-18909: Review buff descriptions for accuracy

The buff descriptions contain specific numerical values and mechanics:

  • "More the Merrier": 20m range, +5% Melee Speed, +20% Fire Rate
  • "Targeted Medicine": 25% duplication chance
  • "Combo Killer": 5% per multiplier, max 65% with Venka Prime

These seem to be game mechanics that should be verified for accuracy.

✅ Verification successful

Let me analyze the output from the search. The search results show that the numerical values in the buff descriptions appear consistently across different language files (data/*/languages.json) for the same buffs:

  • "More the Merrier": "Non-Tenno Allies within 20m all gain +5% Melee Attack Speed and +20% Fire Rate for each one in range"
  • "Targeted Medicine": "Shoot Health Orbs to pick them up. Health orbs now have 25% chance to duplicate when picked up"
  • "Combo Killer": "Combo Multiplier increases the chance of enemies being susceptible to finishers after a melee hit. 5% per Multiplier Max 65% with Venka Prime"

The values are consistent across all language files, indicating these are the correct game mechanics values. Let me generate the final response:

Buff descriptions verified as accurate

The numerical values in the buff descriptions are verified to be accurate and consistent across all language files:

  • "More the Merrier": 20m range, +5% Melee Speed, +20% Fire Rate
  • "Targeted Medicine": 25% duplication chance
  • "Combo Killer": 5% per multiplier, max 65% with Venka Prime
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for similar buff descriptions to verify consistency of numerical values
rg -g '*.json' '"\+\d+%|\d+%|\d+m".*"desc"' | sort -u

Length of output: 122493

data/zh/languages.json (3)

18857-18940: JSON structure looks good

The file maintains proper JSON formatting with consistent indentation and correct syntax.


18917-18919: ⚠️ Potential issue

Inconsistent translation detected

The translation for "WeaponSecondaryArcaneUnlocker" is in Chinese while surrounding entries are in English. This seems inconsistent with the translation pattern in the file.


18857-18940: Verify translation key consistency across language files

As this is a Crowdin update, we should ensure these translation keys exist in other language files as well.

✅ Verification successful

Based on the output, I can see that the key "/Lotus/Types/Challenges/Calendar1999/CalendarKillEximusEasy" exists across all language files. Let me verify a few more keys to ensure broader consistency.


Translation keys are consistently present across all language files

The verification shows that all checked translation keys are present in every language file in the data directory, confirming proper synchronization across translations.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the same keys exist in other language files
# Example checking a specific key across language files
fd -t f -e json . data/ --exec grep -l "/Lotus/Types/Challenges/Calendar1999/CalendarKillEximusEasy" {}

Length of output: 424


Script:

#!/bin/bash
# Check a few more keys across language files
echo "=== Checking CalendarKillScaldraEnemiesEasy ==="
fd -t f -e json . data/ --exec grep -l "/Lotus/Types/Challenges/Calendar1999/CalendarKillScaldraEnemiesEasy" {}

echo -e "\n=== Checking CalendarKillTechrotEnemiesHard ==="
fd -t f -e json . data/ --exec grep -l "/Lotus/Types/Challenges/Calendar1999/CalendarKillTechrotEnemiesHard" {}

echo -e "\n=== Checking WeaponUtilityUnlocker ==="
fd -t f -e json . data/ --exec grep -l "/Lotus/StoreItems/Types/Items/MiscItems/WeaponUtilityUnlocker" {}

Length of output: 1601

data/sr/languages.json (2)

18881-18889: LGTM: Store items and components section

The store items and components section maintains consistent naming conventions and follows proper JSON structure.

Also applies to: 18917-18922, 18927-18929


18857-18940: Verify JSON structure and formatting

The overall JSON structure appears correct with proper nesting and comma placement.

Let's verify the JSON structure:

✅ Verification successful

JSON structure is valid

The section shows proper JSON structure with:

  • Consistent key-value pairs
  • Proper nesting and closing of objects
  • Correct comma placement between entries
  • Proper closing braces
  • Consistent formatting
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify JSON syntax and structure
# Expected result: No errors in JSON parsing

# Check if the JSON is valid
jq '.' data/sr/languages.json > /dev/null

Length of output: 29


Script:

#!/bin/bash
# Let's try a different approach to verify the JSON structure
# First, let's check if the file exists and see its content
cat data/sr/languages.json | head -n 5

# Then let's use grep to check for basic JSON structure issues
grep -n "[^,]{$\|[^{],{$\|[^}]}$" data/sr/languages.json || echo "No obvious JSON structure issues found"

# Let's also check for unmatched brackets/braces
awk '
BEGIN { pairs = 0 }
{
    for(i=1; i<=length($0); i++) {
        c = substr($0,i,1)
        if(c == "{") pairs++
        if(c == "}") pairs--
    }
}
END {
    if(pairs == 0) 
        print "Brackets are properly matched"
    else 
        print "Unmatched brackets found: " pairs
}' data/sr/languages.json

Length of output: 70363


Script:

#!/bin/bash
# Let's try a more focused check of the specific section we're reviewing
# Extract and validate just the section around lines 18857-18940
sed -n '18850,18950p' data/sr/languages.json | jq -r '.' 2>&1 || echo "JSON validation failed"

# Also check for any obvious syntax issues in that section
sed -n '18850,18950p' data/sr/languages.json | grep -n "[^,{]{\|,[[:space:]]*}\|[^}]}\|{[[:space:]]*," || echo "No syntax issues found in the section"

Length of output: 2214

Comment on lines +18867 to +18868
"value": "틱 스킨",
"desc": "Gain +250 Armor."
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Inconsistent translation format detected

The string "틱 스킨" appears to be the only Korean translation in this update. However, its description "Gain +250 Armor." remains in English. This inconsistency should be addressed.

Comment on lines +18918 to +18919
"value": "Adaptador de Arcano Secundario"
},
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Inconsistent language usage detected

The translation "Adaptador de Arcano Secundario" is in Spanish while similar items like "Emerald Archon Shard" (line 18882) and "Exilus Weapon Adapter" (line 18928) are in English. This inconsistency should be addressed to maintain a uniform translation approach.

@@ -18854,5 +18854,89 @@
},
"/Lotus/Types/Gameplay/NarmerSorties/ArchonCrystalAmarMythic": {
"value": "Tauforged Crimson Archon Shard"
},
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Missing German translations for Archon Shard items

The following item names are still in English and should be translated to German:

  • "Tauforged Crimson Archon Shard"
  • "Emerald Archon Shard"

Also applies to: 18881-18883

Comment on lines +18858 to +18861
"/Lotus/Types/Challenges/Calendar1999/CalendarKillEximusEasy": {
"value": "EX-EXIMUS",
"desc": "Kill 10 Eximus"
},
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Inconsistent translations and capitalization in challenge descriptions

Issues found:

  1. "EX-EXIMUS" appears to be untranslated
  2. Some challenge names use English (e.g., "Demonstration of power") while others are in German
  3. Inconsistent capitalization in descriptions - some start with capital letters while others don't

Please ensure consistent translation and capitalization across all challenge entries.

Also applies to: 18874-18877, 18890-18897, 18913-18916, 18923-18926

Comment on lines +18862 to +18873
"/Lotus/Upgrades/Calendar/MagazineCapacity": {
"value": "Heavy Mags",
"desc": "Increase magazine capacity by 25%"
},
"/Lotus/Upgrades/Calendar/Armor": {
"value": "Thick Skin",
"desc": "Gain +250 Armor."
},
"/Lotus/Upgrades/Calendar/EnergyRestoration": {
"value": "Espresso Shots",
"desc": "Increase energy restoration by 2/s."
},
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Standardize number formatting and technical terms

Please standardize:

  1. Number formatting (e.g., "2/s" vs "25%")
  2. Technical terms (e.g., "Melee Attack Speed" appears in English while other terms are translated)
  3. Unit representations (e.g., "20m" vs written out measurements)

Consider creating a glossary for consistent translation of technical terms.

Also applies to: 18898-18909, 18930-18940

@@ -18854,5 +18854,89 @@
},
"/Lotus/Types/Gameplay/NarmerSorties/ArchonCrystalAmarMythic": {
"value": "Tauforged Crimson Archon Shard"
},
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Missing translations for game items

These item names appear to be in English within the Portuguese translation file:

  • "Tauforged Crimson Archon Shard"
  • "Emerald Archon Shard"
  • "Exilus Weapon Adapter Blueprint"
  • "Secondary Arcane Adapter"
  • "Exilus Weapon Adapter"

Please ensure these items are properly translated to Portuguese.

Also applies to: 18882-18883, 18885-18886, 18918-18919, 18928-18929

Comment on lines +18858 to +18861
"/Lotus/Types/Challenges/Calendar1999/CalendarKillEximusEasy": {
"value": "EX-EXIMUS",
"desc": "Kill 10 Eximus"
},
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Missing translations for calendar challenges

The following challenges and their descriptions are in English:

  • "EX-EXIMUS" - "Kill 10 Eximus"
  • "Punish Scaldra" - "Kill 250 Scaldra Troops"
  • "Demonstration of power" - "Kill 300 Enemies with Abilities"
  • "Make it personal" - "Kill 300 Scaldra Troops with Melee Weapons"
  • "Purge the infection" - "Kill 1,000 Techrot"
  • "Starve the beast" - "Destroy 150 Containers"

Please translate both the challenge names and their descriptions to Portuguese.

Also applies to: 18874-18877, 18890-18893, 18894-18897, 18913-18916, 18923-18926

Comment on lines +18862 to +18873
"/Lotus/Upgrades/Calendar/MagazineCapacity": {
"value": "Heavy Mags",
"desc": "Increase magazine capacity by 25%"
},
"/Lotus/Upgrades/Calendar/Armor": {
"value": "Thick Skin",
"desc": "Gain +250 Armor."
},
"/Lotus/Upgrades/Calendar/EnergyRestoration": {
"value": "Espresso Shots",
"desc": "Increase energy restoration by 2/s."
},
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Missing translations for upgrades and their effects

The following upgrades and their detailed effect descriptions need translation:

  • Combat upgrades ("Heavy Mags", "Thick Skin", "Espresso Shots")
  • Companion effects ("More the Merrier")
  • Special mechanics ("Targeted Medicine", "Combo Killer", "Broadened Horizons", "No Quarter", "Got Your Back")

Please ensure accurate translation of both the upgrade names and their mechanical descriptions, maintaining the numeric values as-is:

  • Percentages (e.g., "25%")
  • Specific values (e.g., "+250 Armor")
  • Time durations (e.g., "10s")
  • Distances (e.g., "20m")

Also applies to: 18898-18909, 18930-18940

Comment on lines +18878 to +18881
"/Lotus/StoreItems/Types/BoosterPacks/CalendarMajorArtifactPack": {
"value": "Arcane Enhancements: Double Pack"
},
"/Lotus/StoreItems/Types/Gameplay/NarmerSorties/ArchonCrystalGreen": {
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Missing translations for store items and bundles

The following store items need translation:

  • "Arcane Enhancements: Double Pack"
  • "2000 x Kuva"
  • "Arcane Enhancements"
  • "6,000 Endo"

Please translate the item names while maintaining the numeric values and formatting:

  • Keep the "x" multiplier format (e.g., "2000 x")
  • Maintain the comma formatting in numbers (e.g., "6,000")

Also applies to: 18887-18889, 18910-18912, 18920-18922

Comment on lines +18898 to +18909
"/Lotus/Upgrades/Calendar/CompanionsBuffNearbyPlayer": {
"value": "More the Merrier",
"desc": "Non-Tenno Allies within 20m all gain +5% Melee Attack Speed and +20% Fire Rate for each one in range."
},
"/Lotus/Upgrades/Calendar/OrbsDuplicateOnPickup": {
"value": "Targeted Medicine",
"desc": "Shoot Health Orbs to pick them up. Health orbs now have 25% chance to duplicate when picked up."
},
"/Lotus/Upgrades/Calendar/FinisherChancePerComboMultiplier": {
"value": "Combo Killer",
"desc": "Combo Multiplier increases the chance of enemies being susceptible to finishers after a melee hit. 5% per Multiplier Max 65% with Venka Prime."
},
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Technical terms and measurements need localization

Several entries contain technical game terms and measurements that should be localized:

  • Technical terms: "Combo Multiplier", "Health Orbs", "Melee Attack Speed"
  • Units and measurements: "20m", "25%", "10s"
  • Game mechanics: "Fire Rate", "Finishers"

Consider translating these terms to maintain consistency with the Chinese localization.

Also applies to: 18930-18940

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant