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

quite local #168

Merged
merged 1 commit into from
Dec 20, 2024
Merged

quite local #168

merged 1 commit into from
Dec 20, 2024

Conversation

GeneralGaws
Copy link
Collaborator

@GeneralGaws GeneralGaws commented Dec 20, 2024

О чем PR

Перевод журанала "ДЕВОЧКИ ГОРЛАКСА" ❤️‍🔥, новой пси-способки (без перевода она была бы юзлесс) и криопушки

Почему

Технические детали

Медиа

  • Я добавил скриншот/видео, показывающее изменения в игре или PR не нуждается в показе
  • Я проверил изменения на предмет багов

Summary by CodeRabbit

  • New Features
    • Added Russian localization for the precognition power, including name and description.
    • Introduced new Russian localization strings for various psionic abilities related to precognition.
    • Added new Russian localization for "ionized cryogenic emission equipment" and other technology terms.
    • Enhanced event notifications with new Russian localization for delayed events.
    • Introduced a new ice weapon with name and description in Russian.
    • Added a subscription notice in Russian for a monthly publication.
    • Expanded localization for various paper items and their descriptions.
    • Added new note entities related to lunchbox messages.
    • Introduced new energy weapon entities and updated existing ones with new properties.

Copy link

coderabbitai bot commented Dec 20, 2024

Walkthrough

This pull request introduces comprehensive localization updates for the Russian language across multiple game files. The changes primarily focus on adding new entries for the precognition power, weapon descriptions, station event systems, and various paper-related items. The modifications enhance the game's Russian language support by providing translations for new game elements, including detailed descriptions of psionic abilities, weapon names, and miscellaneous in-game items.

Changes

File Change Summary
Resources/Locale/ru-RU/deltav/abilities/powers.ftl Added precognition power name and description
Resources/Locale/ru-RU/deltav/abilities/psionic.ftl Added multiple localization strings for precognition power outcomes
Resources/Locale/ru-RU/deltav/research/technologies.ftl Added new technology localization entry
Resources/Locale/ru-RU/deltav/station-events/station-event-system.ftl Added event delay notification string
Resources/Locale/ru-RU/deltav/weapons/ranged/energygun.ftl Added new ice weapon name and description
Resources/Locale/ru-RU/paper/paper-misc.ftl Added subscription notice text
Resources/Prototypes/DeltaV/Actions/types.yml Updated precognition action name and description
Resources/Prototypes/DeltaV/Catalog/Fills/Paper/manuals.yml Added new paper note entities
Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml Added new weapon entities and updated existing ones

Sequence Diagram

sequenceDiagram
    participant Player
    participant PrecognitionPower
    participant GameEvents
    
    Player->>PrecognitionPower: Activate
    PrecognitionPower->>GameEvents: Request Future Event
    GameEvents-->>PrecognitionPower: Return Potential Event
    PrecognitionPower->>Player: Display Localized Event Description
Loading

Possibly related PRs

  • Pr #146: Directly adds localization entries for the precognition power

Suggested Labels

Changes: Localization, Changes: YML, Changes: Sprite, size/M

Poem

🐰 A Rabbit's Localization Ode 🌟

In Russian tongue, our stories unfold,
Precognition's secrets, now brave and bold
From weapons to events, each word takes flight
Translations dancing with playful might!
CodeRabbit's magic, spreading far and wide 🌈


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.

@GeneralGaws GeneralGaws merged commit cda362f into master Dec 20, 2024
11 of 14 checks passed
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: 4

🔭 Outside diff range comments (1)
Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml (1)

Balance adjustments needed for new beam weapons

The verification confirms significant balance concerns:

  • The beam devastator's charge capacity (300,000) is 100-600x higher than other weapons (500-3,000)
  • Both weapons have the highest fire rate (15) compared to others (1.5-3)
  • The beam devastator's fire cost (600) is 6x higher than standard weapons (50-100)
  • The beam cannon's fire cost (10) is unusually low compared to others

Recommendations:

  • Reduce beam devastator's charge capacity to ~5,000-10,000
  • Lower fire rates to 3-5 for better balance with existing weapons
  • Adjust beam cannon's fire cost to at least 50-100
  • Consider unique sound effects for weapon differentiation
🔗 Analysis chain

Line range hint 293-385: Review weapon balance for new beam weapons

The beam weapons, particularly the beam devastator, have some potential balance concerns:

  1. The beam devastator's charge capacity (300000) is significantly higher than other weapons (typically 500-3000)
  2. Both weapons share the same fire rate (15) and sound effects
  3. The beam devastator's fire cost (600) might deplete too quickly or too slowly given the massive charge capacity

Consider:

  • Adjusting the charge capacity to be more in line with other weapons
  • Differentiating the weapons' fire rates and sound effects
  • Documenting the intended balance rationale

The results confirm the significant charge capacity disparity and shared sound effects. Let me verify the fire rates and costs of other weapons for a complete balance comparison.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Compare with other weapon configurations to verify balance
rg "maxCharge: \d+" Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/

# Check for weapon sound effect reuse
rg "path: .*beamcannon.ogg" Resources/Prototypes/

Length of output: 1153


Script:

#!/bin/bash
# Check fire rates and costs of other battery weapons
rg "fireRate: \d+" Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/
rg "fireCost: \d+" Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/

Length of output: 2303

🧹 Nitpick comments (2)
Resources/Locale/ru-RU/deltav/abilities/psionic.ftl (2)

39-42: Fix inconsistent punctuation

The following messages are missing periods at the end, unlike other messages in the file:

  • mouse-migration-result-message
  • cockroach-migration-result-message
  • snail-migration-result-message

Add periods to maintain consistency with other messages:

-Вы видите видение жизни как примитивного существа, снующего под ногами существ, превосходящих ваше понимание
+Вы видите видение жизни как примитивного существа, снующего под ногами существ, превосходящих ваше понимание.

4-46: Consider standardizing narrative perspective

The messages switch between different narrative styles:

  1. Direct vision descriptions: "Вы видите видение..."
  2. Immediate experience descriptions: "Реальность вокруг вас выпирает..."
  3. Second-person observations: "Ваш коллега лежит..."

While the variations add flavor, consider standardizing the perspective for better consistency and immersion.

Consider adopting a consistent narrative style, preferably the "Вы видите видение..." format, as it better reflects the precognitive nature of the ability.

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between db7c36b and 418a01f.

📒 Files selected for processing (10)
  • Resources/Locale/ru-RU/deltav/abilities/powers.ftl (1 hunks)
  • Resources/Locale/ru-RU/deltav/abilities/psionic.ftl (1 hunks)
  • Resources/Locale/ru-RU/deltav/research/technologies.ftl (1 hunks)
  • Resources/Locale/ru-RU/deltav/station-events/station-event-system.ftl (1 hunks)
  • Resources/Locale/ru-RU/deltav/weapons/ranged/energygun.ftl (1 hunks)
  • Resources/Locale/ru-RU/paper/paper-misc.ftl (1 hunks)
  • Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/misc/paper.ftl (1 hunks)
  • Resources/Prototypes/DeltaV/Actions/types.yml (3 hunks)
  • Resources/Prototypes/DeltaV/Catalog/Fills/Paper/manuals.yml (3 hunks)
  • Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml (2 hunks)
✅ Files skipped from review due to trivial changes (2)
  • Resources/Locale/ru-RU/deltav/weapons/ranged/energygun.ftl
  • Resources/Prototypes/DeltaV/Actions/types.yml
🔇 Additional comments (7)
Resources/Prototypes/DeltaV/Catalog/Fills/Paper/manuals.yml (2)

Line range hint 9-27: LGTM! Well-structured entity definitions for mom's notes.

The new entities follow proper inheritance patterns and maintain consistent structure with the parent entity.


31-32: Verify localization key references.

The entity now references gorlax-girlfriend-name and gorlax-girlfriend-desc localization keys. Let's verify these keys exist in all supported languages to avoid missing translations.

Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/misc/paper.ftl (1)

66-67: LGTM! Translations are consistent with existing entries.

The Russian translations for the subscription notice maintain the same style and format as other entries in the file.

Resources/Locale/ru-RU/paper/paper-misc.ftl (1)

75-83: LGTM! Well-structured and properly formatted content.

The subscription notice content is well-organized with appropriate use of formatting tags and maintains thematic consistency with the Syndicate-sponsored content mentioned in the PR objectives.

A few positive notes:

  • Good use of BBCode formatting for headers and colors
  • Proper spacing between paragraphs
  • Consistent tone throughout the content
  • Color choice (#780606) aligns well with the Syndicate theme
Resources/Locale/ru-RU/deltav/abilities/powers.ftl (1)

1-2: Translations are accurate and well-integrated.

The Russian translations for the precognition power name and description are accurate and natural-sounding while maintaining the original meaning.

✅ Verification successful

The previous ast-grep pattern wasn't suitable for FTL files. Let's search for the actual strings and related power entries to verify the integration.


Let's examine the psionic ability files to verify how the precognition power is integrated with the psionic system, as these files were found in our previous search.


Translations are properly integrated with the psionic system

The search results confirm that the precognition power translations are well-integrated into the game's psionic system. The translations in powers.ftl are referenced extensively in psionic.ftl for various precognition event messages, with both English and Russian translations properly maintained. The translations are consistent across the system and follow the established localization patterns.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify the power name and description are properly referenced in action types
ast-grep --pattern 'power-precognition-name|power-precognition-desc'

Length of output: 70


Script:

#!/bin/bash
# Search for files containing precognition-related strings
rg -l "precognition|Предсказание" --type-add 'ftl:*.ftl' --type ftl

# Search for any power-related strings in FTL files to understand the pattern
rg "power-.*-name" --type-add 'ftl:*.ftl' --type ftl

Length of output: 1217


Script:

#!/bin/bash
# Let's check the content of psionic files that reference precognition
rg -A 2 "precognition|Предсказание" Resources/Locale/ru-RU/deltav/abilities/psionic.ftl Resources/Locale/en-US/deltav/abilities/psionic.ftl

# Check for any power-related strings in these specific files
rg "power-" Resources/Locale/ru-RU/deltav/abilities/psionic.ftl Resources/Locale/en-US/deltav/abilities/psionic.ftl

Length of output: 40798

Resources/Locale/ru-RU/deltav/abilities/psionic.ftl (2)

1-3: Core messages look good!

The basic system messages are well-translated and maintain their functional purpose while being grammatically correct.


1-46: Verify translation coverage

Let's ensure all game events have corresponding translations.

Comment on lines +272 to +273
name: weapon-ice-name
description: weapon-ice-desc
Copy link

Choose a reason for hiding this comment

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

💡 Codebase verification

Add English translations for the cold cannon weapon

The localization keys are only defined in Russian (ru-RU) but missing in other locales, particularly English. Add the following translations to the English locale file:

  • weapon-ice-name
  • weapon-ice-desc
🔗 Analysis chain

Verify localization keys for the cold cannon weapon

The change to use localization keys (weapon-ice-name and weapon-ice-desc) aligns with the PR's translation objectives. However, we should verify these keys exist in the localization files.


Localization keys for cold cannon weapon are properly defined

The localization keys weapon-ice-name and weapon-ice-desc are correctly defined in the Russian locale file at Resources/Locale/ru-RU/deltav/weapons/ranged/energygun.ftl. Let's verify if they are also defined in other locales for completeness.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the localization keys exist in the Russian locale files
rg "weapon-ice-(name|desc)" Resources/Locale/ru-RU/

Length of output: 235


Script:

#!/bin/bash
# Check if the localization keys exist in other locale files
rg "weapon-ice-(name|desc)" Resources/Locale/

Length of output: 229

@@ -0,0 +1 @@
station-event-system-run-event-delayed = {$eventName} начнётся через {$seconds} секунд
Copy link

Choose a reason for hiding this comment

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

💡 Codebase verification

Translation needs adjustment for proper plural forms

The Russian translation should handle plural forms for the word "секунд" (seconds) based on the number value, similar to other translations in the codebase. Here's what needs to be fixed:

  • Resources/Locale/ru-RU/deltav/station-events/station-event-system.ftl: Update to use proper plural forms:
station-event-system-run-event-delayed = {$eventName} начнётся через {$seconds} {$seconds ->
    [one] секунду
    [few] секунды
    *[other] секунд
}
🔗 Analysis chain

Translation looks good and maintains proper placeholder usage.

The Russian translation correctly handles the event notification format while maintaining proper grammar structure. The placeholders {$eventName} and {$seconds} are preserved correctly.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify consistent placeholder usage across other event system translations
rg -g '*.ftl' '\$eventName|\$seconds' Resources/Locale/

Length of output: 4376

Comment on lines +7 to +9

research-technology-ionized-cryogenic-emission-equipment = Оборудование ионной заморозки
Copy link

Choose a reason for hiding this comment

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

💡 Codebase verification

Based on the script results, I can generate the final response since I have sufficient information to verify the review comment:

Translations and formatting need attention

The file Resources/Locale/ru-RU/deltav/research/technologies.ftl is missing a trailing newline, which is inconsistent with proper file formatting standards. However, the translation style is consistent with other technology entries in the codebase, following similar patterns for weapon and equipment translations.

  • Add a trailing newline at the end of Resources/Locale/ru-RU/deltav/research/technologies.ftl
🔗 Analysis chain

Translations and formatting are correct.

The new translations maintain consistency with existing technology entries. The added newline ensures proper file formatting.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify consistent newline usage in FTL files
rg -l '[^\n]\z' Resources/Locale/ru-RU/deltav/**/*.ftl

# Verify consistent translation style across technology entries
rg -g '*.ftl' '^research-technology-' Resources/Locale/ru-RU/

Length of output: 11086

Comment on lines +4 to +5
psionic-power-precognition-xeno-vents-result-message = Вы видите видение, выглядывая из-за угла, вы видите, как странный, хлюпающий зверь разрывает внутренности одного из ваших коллег, когда он издает душераздирающий крик.
psionic-power-precognition-mothroach-spawn-result-message = Вы видите видение, выглядывая из-за угла, вы видите, как странный, хлюпающий зверь разрывает внутренности одного из ваших коллег, когда он издает душераздирающий крик.
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix duplicate message content

The messages for xeno-vents-result-message and mothroach-spawn-result-message are identical. This appears to be a copy-paste error as they should describe different events.

Please provide distinct descriptions for each event type.

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

Successfully merging this pull request may close these issues.

1 participant