-
Notifications
You must be signed in to change notification settings - Fork 18
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
[Translate] Переводы. #97
Conversation
Signed-off-by: Remuchi <RemuchiOfficial@gmail.com>
WalkthroughThis pull request introduces extensive modifications to localization files for both English and Russian languages. Key changes include the addition of new job names, descriptions, and various localization strings related to character requirements, consumables, and traits. Specific entries have been added or updated to enhance clarity and consistency across the localization framework, particularly focusing on job-related content and user interface elements. Changes
Possibly related PRs
Suggested labels
Suggested reviewers
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 27
🧹 Outside diff range and nitpick comments (18)
Resources/Locale/ru-RU/nyanotrasen/reagents/meta/consumable/food/ingredients.ftl (1)
1-2
: LGTM! Creative and contextually appropriate translations.The translations are well-crafted:
- "блювозин" is a clever translation that maintains the nauseating context
- "Ужасно" is an appropriately concise description
Consider removing the trailing blank line to maintain consistency with other localization files.
Resources/Locale/ru-RU/nyanotrasen/carrying/carry.ftl (1)
1-4
: The translations look good, with a minor suggestion for clarity.The translations are grammatically correct and natural-sounding in Russian. However, consider making the "carry-too-heavy" message more specific to the carrying action:
-carry-too-heavy = Вам не хватает сил. +carry-too-heavy = Вам не хватает сил, чтобы поднять это.This change would make it clearer that the lack of strength is specifically related to carrying/lifting.
Resources/Locale/ru-RU/nyanotrasen/chemistry/effects.ftl (1)
3-7
: Consider enhancing the message clarity.The current message could be more informative by including the actual chance value and being more specific about the diseases.
Consider this enhancement:
reagent-effect-guidebook-chem-miasma-pool = { $chance -> - [1] Вызывает - *[other] Вызывают + [1] Вызывает (шанс 100%) + *[other] Вызывают (шанс { $chance }%) } заболеванияResources/Locale/ru-RU/nyanotrasen/abilities/borgs.ftl (1)
1-2
: LGTM with a minor formatting suggestion.The translations are accurate and maintain proper terminology. However, for consistency with other action descriptions, consider standardizing the period usage across all entries.
Resources/Locale/ru-RU/nyanotrasen/ghost/roles/ghost-role-component.ftl (1)
1-2
: LGTM! Consider adding a hyphen for better readability.The translation effectively captures the predatory nature of the role. The name "Онейрофаг" is a clever compound word, though consider "Онейро-фаг" for better readability, as compound words in Russian often benefit from hyphenation.
Resources/Locale/ru-RU/nyanotrasen/reagents/meta/consumable/drink/drink.ftl (1)
4-4
: Maintain consistent capitalization in drink namesThe drink names "розовый напиток" and "лин" are lowercase while "Атомный пунш" is capitalized. For consistency, consider capitalizing these names:
-reagent-name-pinkdrink = розовый напиток +reagent-name-pinkdrink = Розовый напиток -reagent-name-lean = лин +reagent-name-lean = ЛинAlso applies to: 10-10
Resources/Locale/ru-RU/deltav/job/job-description.ftl (1)
2-2
: Remove unnecessary capitalization in "НАКАЗАНИЕ".The all-caps "НАКАЗАНИЕ" seems inconsistent with the professional tone of other descriptions and could be interpreted as too aggressive for a Chief Justice role.
-job-description-chief-justice = Управляйте отделом юстиций, выступайте в роли судьи и следить за тем, чтобы все получали честное и справедливое НАКАЗАНИЕ. +job-description-chief-justice = Управляйте отделом юстиций, выступайте в роли судьи и следить за тем, чтобы все получали честное и справедливое наказание.Resources/Locale/ru-RU/nyanotrasen/reagents/meta/consumable/drink/alcohol.ftl (2)
5-5
: Remove extra space after equals sign.There's an extra space after the equals sign in the soju description that should be removed for consistency with other entries.
-reagent-desc-soju = Алкогольный напиток, изготовленный путем дистилляции шлифованного риса. +reagent-desc-soju = Алкогольный напиток, изготовленный путем дистилляции шлифованного риса.
1-26
: Standardize capitalization in reagent names.There's inconsistent capitalization in reagent names:
- "Кровь клоуна" starts with a capital letter
- "сильверджек", "сакэ", etc. start with lowercase letters
Consider standardizing the capitalization across all reagent names.
Resources/Locale/ru-RU/nyanotrasen/reverse-engineering/reverseengineering.ftl (1)
2-2
: Fix capitalization in button label for consistencyOther button labels use sentence case, but "Список Серверов" uses title case. Consider changing to "Список серверов" for consistency.
-reverse-engineering-machine-server-list-button = Список Серверов +reverse-engineering-machine-server-list-button = Список серверовResources/Locale/ru-RU/nyanotrasen/kitchen/deep-fryer-component.ftl (1)
3-3
: Consider using more specific terminology for deep frying.The current translation "покрыть маслом" (cover with oil) could be more specific to deep frying. Consider using "обжарить во фритюре" to better match the technical context.
-deep-fryer-blacklist-item-failed = Не удается покрыть маслом {CAPITALIZE(THE($item))}. +deep-fryer-blacklist-item-failed = Не удается обжарить во фритюре {CAPITALIZE(THE($item))}.Resources/Locale/ru-RU/nyanotrasen/markings/felinid.ftl (1)
14-15
: Maintain consistent attribute naming convention.The attribute key
basic_outer
seems inconsistent with the ear type. Consider renaming tofuzzy_outer
to match the ear type name.-marking-FelinidEarsFuzzy-basic_outer = Внешний пух +marking-FelinidEarsFuzzy-fuzzy_outer = Внешний пухResources/Locale/ru-RU/job/job-names.ftl (2)
2-4
: Consider standardizing security department naming.The security department is referenced inconsistently:
- "СБ" abbreviation in "Офицер СБ" and "Кадет СБ"
- Full form in "Глава Службы Безопасности"
Consider using either the abbreviation or the full form consistently across all security-related roles for better clarity.
96-99
: Standardize translations for senior roles.The translations for senior positions use inconsistent patterns:
- Senior Engineer → "Бригадир" (Brigade leader)
- Senior Officer → "Ветеран СБ" (Veteran)
- Senior Physician → "Медицинский Офицер" (Medical Officer)
- Senior Researcher → "Ведущий Исследователь" (Leading Researcher)
Consider using a consistent prefix like "Старший" or "Ведущий" across all senior roles for better clarity in the hierarchy.
Resources/Locale/ru-RU/preferences/ui/humanoid-profile-editor.ftl (2)
14-16
: Consider standardizing measurement unit spacing.The translations are accurate, but consider adding a space before the measurement units for better readability:
-humanoid-profile-editor-height-label = Рост: {$height}см -humanoid-profile-editor-width-label = Ширина: {$width}см -humanoid-profile-editor-weight-label = Вес: {$weight}кг +humanoid-profile-editor-height-label = Рост: {$height} см +humanoid-profile-editor-width-label = Ширина: {$width} см +humanoid-profile-editor-weight-label = Вес: {$weight} кг
40-40
: Add missing punctuation.Consider adding a period at the end of the tooltip text for consistency:
-humanoid-profile-editor-guidebook-button-tooltip = Нажмите чтобы узнать больше +humanoid-profile-editor-guidebook-button-tooltip = Нажмите чтобы узнать больше.Resources/Locale/ru-RU/nyanotrasen/markings/moth.ftl (1)
1-141
: Consider improving file organization and documentationTo improve maintainability, consider:
- Adding a header comment explaining the file's purpose and structure
- Grouping translations by category using Fluent's group comments
- Adding references to the English strings for easier verification
Example structure:
### This file contains Russian translations for moth markings ### Reference: Resources/Locale/en-US/nyanotrasen/markings/moth.ftl ## Antenna markings marking-MothAntennasClassicAspen = усики (амурский бражник, классика) ... ## Wing markings marking-MothWingsClassicAspen = крылья (амурский бражник, классика) ...Resources/Locale/ru-RU/traits/traits.ftl (1)
3-3
: Standardize formatting tag usageThere are inconsistencies in how formatting tags are used:
- Line 3 uses
[color=lightblue]
for examined text- Line 315 uses all caps without any formatting tags for emphasis
Consider standardizing the use of formatting tags across all traits for consistency.
Also applies to: 314-315
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (53)
- Resources/Locale/en-US/_white/job/job-names.ftl (1 hunks)
- Resources/Locale/en-US/customization/character-requirements.ftl (0 hunks)
- Resources/Locale/en-US/job/job-description.ftl (1 hunks)
- Resources/Locale/en-US/nyanotrasen/reagents/meta/consumable/drink/drink.ftl (0 hunks)
- Resources/Locale/ru-RU/_white/job/job-names.ftl (1 hunks)
- Resources/Locale/ru-RU/clothing/socks.ftl (0 hunks)
- Resources/Locale/ru-RU/clothing/top.ftl (0 hunks)
- Resources/Locale/ru-RU/clothing/underwear.ftl (0 hunks)
- Resources/Locale/ru-RU/customization/character-requirements.ftl (1 hunks)
- Resources/Locale/ru-RU/deltav/job/department-desc.ftl (1 hunks)
- Resources/Locale/ru-RU/deltav/job/department.ftl (1 hunks)
- Resources/Locale/ru-RU/deltav/job/job-description.ftl (1 hunks)
- Resources/Locale/ru-RU/deltav/job/job-names.ftl (1 hunks)
- Resources/Locale/ru-RU/deltav/job/job-supervisors.ftl (1 hunks)
- Resources/Locale/ru-RU/job/department.ftl (0 hunks)
- Resources/Locale/ru-RU/job/job-description.ftl (3 hunks)
- Resources/Locale/ru-RU/job/job-names.ftl (1 hunks)
- Resources/Locale/ru-RU/markings/moth.ftl (4 hunks)
- Resources/Locale/ru-RU/navmap-beacons/station-beacons.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/abilities/Oni.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/abilities/borgs.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/abilities/felinid.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/accent/accents.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/advertisements/vending/maildrobe.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/barsign/barsign-component.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/carrying/carry.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/chemistry/effects.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/ghost/roles/ghost-role-component.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/items/components/pseudoitem-component.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/job/job-description.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/job/job-names.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/kitchen/deep-fryer-component.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/markings/felinid.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/markings/moth.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/markings/oni.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/medical/components/health-analyzer-component.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/prototypes/access/accesses.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/prototypes/fills/crates/syndicate-crates.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/reagents/meta/consumable/drink/alcohol.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/reagents/meta/consumable/drink/drink.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/reagents/meta/consumable/food/ingredients.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/reverse-engineering/reverseengineering.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/seeds/seeds.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/species/namepreset.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/store/uplink-catalog.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/tools/tool-qualities.ftl (1 hunks)
- Resources/Locale/ru-RU/preferences/ui/humanoid-profile-editor.ftl (4 hunks)
- Resources/Locale/ru-RU/prototypes/entities/objects/misc/paper.ftl (1 hunks)
- Resources/Locale/ru-RU/prototypes/entities/objects/weapons/melee/white_cane.ftl (1 hunks)
- Resources/Locale/ru-RU/prototypes/entities/structures/wallmounts/signs/signs.ftl (2 hunks)
- Resources/Locale/ru-RU/traits/categories.ftl (1 hunks)
- Resources/Locale/ru-RU/traits/misc.ftl (1 hunks)
- Resources/Locale/ru-RU/traits/traits.ftl (1 hunks)
💤 Files with no reviewable changes (6)
- Resources/Locale/en-US/customization/character-requirements.ftl
- Resources/Locale/en-US/nyanotrasen/reagents/meta/consumable/drink/drink.ftl
- Resources/Locale/ru-RU/clothing/socks.ftl
- Resources/Locale/ru-RU/clothing/top.ftl
- Resources/Locale/ru-RU/clothing/underwear.ftl
- Resources/Locale/ru-RU/job/department.ftl
✅ Files skipped from review due to trivial changes (14)
- Resources/Locale/ru-RU/deltav/job/department-desc.ftl
- Resources/Locale/ru-RU/deltav/job/job-names.ftl
- Resources/Locale/ru-RU/deltav/job/job-supervisors.ftl
- Resources/Locale/ru-RU/nyanotrasen/abilities/Oni.ftl
- Resources/Locale/ru-RU/nyanotrasen/accent/accents.ftl
- Resources/Locale/ru-RU/nyanotrasen/advertisements/vending/maildrobe.ftl
- Resources/Locale/ru-RU/nyanotrasen/job/job-description.ftl
- Resources/Locale/ru-RU/nyanotrasen/markings/oni.ftl
- Resources/Locale/ru-RU/nyanotrasen/medical/components/health-analyzer-component.ftl
- Resources/Locale/ru-RU/nyanotrasen/prototypes/access/accesses.ftl
- Resources/Locale/ru-RU/nyanotrasen/seeds/seeds.ftl
- Resources/Locale/ru-RU/nyanotrasen/tools/tool-qualities.ftl
- Resources/Locale/ru-RU/prototypes/entities/objects/weapons/melee/white_cane.ftl
- Resources/Locale/ru-RU/traits/categories.ftl
🧰 Additional context used
🔇 Additional comments (52)
Resources/Locale/ru-RU/nyanotrasen/species/namepreset.ftl (1)
1-1
: Verify the intended naming convention.While the template is technically correct, the use of "-но-" as a name connector is unconventional in Russian naming patterns. Traditional Russian names don't typically use "но" (meaning "but") as a separator between name parts.
Let's check if this naming pattern is consistently used across the codebase:
Would you like to discuss alternative, more natural Russian naming patterns that might better serve the localization needs?
Resources/Locale/ru-RU/traits/misc.ftl (1)
1-1
: LGTM! Verify the message key usage.The translation is grammatically correct and maintains proper Russian language structure while correctly using the FTL placeholder syntax.
Let's verify how this localization key is used in the codebase:
✅ Verification successful
Let me gather more context about how this localization key is used in the component.
Let me check one more thing - the examine system implementation for the CyberEyes component to ensure the localization key is properly used.
Let me check the actual implementation of the OnExamined method to verify how the localization key is used.
Localization key is properly integrated and used
The verification shows that:
- The localization key is correctly defined in the
CyberEyesComponent
- The
CyberEyesSystem
properly subscribes toExaminedEvent
- The
OnExamined
method correctly uses the localization key withLoc.GetString()
and passes the requiredentity
parameter that matches the{$entity}
placeholder in the FTL file🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Search for the usage of examine-cybereyes-message key in code files # This helps ensure the key is properly integrated and used # Look for direct string references rg "examine-cybereyes-message" --type-add 'code:*.{cs,xaml}' -t code # Look for Fluent.GetString calls that might use this key ast-grep --pattern 'Fluent.GetString("examine-cybereyes-message")'Length of output: 275
Script:
#!/bin/bash # Get the full context of CyberEyesComponent to understand the implementation rg -A 10 -B 10 "examine-cybereyes-message" --type-add 'code:*.{cs,xaml}' -t code # Look for examine system implementations that might use this component ast-grep --pattern 'ExaminedEvent'Length of output: 1190
Script:
#!/bin/bash # Look for the examine system implementation for CyberEyes rg -l "CyberEyesComponent" --type-add 'code:*.cs' -t code | xargs rg "Examined" # Also check for any systems that might handle CyberEyes examination ast-grep --pattern 'class $_ : IExamine'Length of output: 405
Script:
#!/bin/bash # Get the full implementation of CyberEyesSystem rg -A 10 -B 10 "OnExamined.*CyberEyesComponent" Content.Shared/Traits/Assorted/Systems/CyberEyesSystem.csLength of output: 648
Resources/Locale/ru-RU/nyanotrasen/items/components/pseudoitem-component.ftl (1)
1-2
: LGTM! Translations look accurate.The translations are grammatically correct and the Fluent interpolation syntax
{THE($target)}
is properly used. The strings appropriately convey the actions for both self-insertion and placing other entities.Let's verify the usage of the THE() helper function in other localization files:
✅ Verification successful
Let me try a different approach to verify the usage of THE() helper function in localization files.
Let me try one more time with proper escaping and using
cat
to check the English version of the same file for reference.
Translation and interpolation syntax verified correctly
The verification confirms that:
- The English source file uses the same interpolation pattern
{THE($target)}
for the same string- The
{THE}
helper is widely used across both English and Russian localization files, confirming it's a standard translation pattern- The Russian translation maintains consistent syntax while providing accurate translation
The translations and interpolation syntax in
pseudoitem-component.ftl
are implemented correctly and follow the established patterns in the codebase.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check for consistent usage of THE() helper in other localization files # Expected: Find similar patterns of THE() usage for validation # Search for THE() usage patterns in other FTL files rg "{THE\(" "Resources/Locale/ru-RU/"Length of output: 119
Script:
#!/bin/bash # Search for THE usage patterns in FTL files without escaping special characters rg "{THE\(" --no-config Resources/Locale/ru-RU/ || rg "{THE" Resources/Locale/ru-RU/ # Also check for similar patterns in English locale for reference rg "{THE\(" --no-config Resources/Locale/en-US/ || rg "{THE" Resources/Locale/en-US/ # Let's also check if the file is in the correct location by finding similar component files fd "pseudoitem-component.ftl" Resources/Locale/Length of output: 697
Script:
#!/bin/bash # Check the English version of the same file cat Resources/Locale/en-US/nyanotrasen/items/components/pseudoitem-component.ftl # Search for THE pattern with proper escaping rg -l '\{THE' Resources/Locale/ru-RU/ rg -l '\{THE' Resources/Locale/en-US/Length of output: 3602
Resources/Locale/ru-RU/nyanotrasen/prototypes/fills/crates/syndicate-crates.ftl (1)
1-2
: LGTM! The translations are accurate and well-formatted.The localization entries follow the proper Fluent (FTL) format and maintain correct Russian grammar. The translation quality is good, with proper use of cases and clear description.
Resources/Locale/en-US/_white/job/job-names.ftl (1)
6-6
: LGTM! The addition maintains consistency and proper ordering.The new
JobMaid
entry:
- Correctly corresponds to its
job-name-maid
counterpart- Maintains consistent capitalization
- Follows the alphabetical ordering requirement
- Matches the established format
Resources/Locale/ru-RU/nyanotrasen/carrying/carry.ftl (1)
4-4
: Verify THE() function implementation for proper capitalization.The message uses the Fluent's THE() function for carrier name capitalization. Let's verify its implementation to ensure proper capitalization in Russian.
Resources/Locale/ru-RU/_white/job/job-names.ftl (1)
1-2
: LGTM! Translations are accurate and appropriate.The Russian translations for both job names are correct and commonly used terms that accurately represent their English counterparts.
Resources/Locale/ru-RU/nyanotrasen/chemistry/effects.ftl (1)
3-7
: LGTM! Correct implementation of Russian grammatical number agreement.The select expression properly handles singular/plural forms of "вызывает/вызывают" based on the chance value.
Resources/Locale/ru-RU/nyanotrasen/job/job-names.ftl (2)
9-10
: LGTM! Role timer translations are consistent.The translations match their corresponding job name entries and follow the expected format.
6-6
: Verify the translation choice for "Mantis".The term "Мантис" is a direct transliteration. Consider whether a more descriptive Russian translation would be more appropriate for better user understanding.
✅ Verification successful
Let me try to search for more context about the Mantis role using different approaches.
Based on the extensive search results, I can now make an informed decision about the translation of "Mantis". Let me analyze the key findings:
The Mantis role is a specialized position dealing with psionic/psychic phenomena, as evidenced by:
- Job description: "Solve mysteries from the nature of the universe to the meaning of life. Be the main person to deal with Psionic beings."
- Has special psionic-related abilities and equipment
- Has lore significance explained in sophia-response-mantis: "Mantis means seer, diviner, or prophet. They are named so because they seek to uncover the truth."
The term "Мантис" is indeed a direct transliteration, but in this case it appears to be the correct choice because:
- It's a proper title/role name
- The role has specific mystical/psionic connotations that would be lost with a direct translation
- The etymology of the word (as explained in the lore) connects "mantis" to "mentis" (mind), which is preserved better in transliteration
The transliteration "Мантис" is appropriate and should be retained.
The current translation preserves both the role's unique identity and its connection to the psionic/mystical aspects of the game's lore. A more descriptive Russian translation would potentially lose these important connotations.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Search for any context about the Mantis role to understand if it's a proper noun # that should remain transliterated or if it should be translated rg -l "mantis" --type mdLength of output: 24
Script:
#!/bin/bash # Search for any mentions of "mantis" across all file types to understand the context rg -i "mantis" -A 3 -B 3 # Also search for the job definition files that might contain information about this role fd "jobs?" --type fLength of output: 105455
Resources/Locale/ru-RU/nyanotrasen/abilities/borgs.ftl (2)
4-5
: Translations look good!The translations are accurate, maintain proper terminology, and effectively convey the medical purpose of the item in natural Russian.
1-5
: Verify terminology consistency across localization files.Let's ensure the medical terminology is consistent across all related localization files.
✅ Verification successful
Based on the search results, I can now generate the final response since we have comprehensive information about the medical terminology usage across the Russian localization files.
Medical terminology is consistent across localization files
The terms "Омнизин", "лекарств", and "лечение" are used consistently throughout the Russian localization files. Specifically:
- The term "Омнизин" appears only in the new borg ability
- "лекарств" (medicines) and "лечение" (treatment) are used consistently in medical contexts across various files
- The medical terminology in the new translations aligns with existing medical-related content in the codebase
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check for consistency in medical terminology across localization files # Look for related terms like "Омнизин" and medical treatment references # Search for medical terminology in all Russian localization files rg -g "*.ftl" "Омнизин|лекарств|лечен" "Resources/Locale/ru-RU/"Length of output: 14278
Resources/Locale/ru-RU/nyanotrasen/barsign/barsign-component.ftl (3)
1-3
: LGTM! Translation is accurate and maintains the proper tone.The Russian translation effectively captures the welcoming atmosphere of the bar while maintaining proper grammar and cultural context.
5-7
: LGTM! Simple and effective translation.The translation maintains the simplicity of the original while properly adapting it to Russian.
1-7
: Verify localization consistency across files.Let's ensure these bar signs are consistently referenced across other localization files.
✅ Verification successful
Based on the search results, I can now generate the final response as we have sufficient information about the localization consistency.
Bar sign localizations are properly synchronized
The bar signs "Whiskey Echoes" and "Klub Skub" are consistently defined in both English (en-US) and Russian (ru-RU) localization files with matching keys:
- Both files contain all four required entries (name and description for each bar sign)
- The key structure is identical across both files
- The translations appear to be appropriate and complete
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check for consistency in bar sign references across localization files # Test: Search for related bar sign entries in other locale files echo "Searching for related bar sign entries in other locale files..." rg -g "Resources/Locale/**/*.ftl" "barsign.*(?:whiskeyecho|klubskub)"Length of output: 1310
Resources/Locale/ru-RU/nyanotrasen/abilities/felinid.ftl (4)
1-2
: LGTM! Translation is accurate and maintains the intended tone.The Russian translation effectively conveys both the mechanical action and the humorous aspect of the ability.
4-4
: LGTM! Variable interpolation is properly implemented.The translation correctly uses the {$mask} variable and maintains proper Russian grammar structure.
7-8
: LGTM! Creative and culturally appropriate translation.The translation cleverly uses "мышатина" (mouse meat) to maintain both humor and clarity. The structure and tone are well-preserved from the original.
5-5
: Verify the capitalization behavior with Russian text.The translation looks good and uses proper Fluent functions. However, let's verify that the CAPITALIZE function works correctly with Russian characters.
✅ Verification successful
Let me try a different search strategy to find Fluent files and CAPITALIZE usage.
This will help us:
- Confirm the location of Fluent files
- Find other uses of CAPITALIZE function
- Find similar Russian translations with variable interpolation
Let me try a different search pattern to find Russian text with CAPITALIZE function.
I can now generate the final response since I have found both the Russian and English versions of the message using CAPITALIZE function.
The CAPITALIZE function usage is correct and consistent
The Russian translation correctly uses the CAPITALIZE function with THE($name) in the same way as the English version. Both messages follow the same pattern:
{CAPITALIZE(THE($name))} + action verb + object
The only difference is in the natural language portion, which is expected for a translation. The function usage itself is identical and proper.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Search for other uses of CAPITALIZE function with Russian text to verify consistency rg "CAPITALIZE.*[а-яА-Я]" --type ftlLength of output: 66
Script:
#!/bin/bash # First, let's find all Fluent files fd ".ftl$" # Then search for CAPITALIZE usage in those files rg "CAPITALIZE" --type-add 'ftl:*.ftl' -t ftl # Also search for similar Russian messages rg "[а-яА-Я].*=.*{" --type-add 'ftl:*.ftl' -t ftlLength of output: 263548
Script:
#!/bin/bash # Search for Russian text with CAPITALIZE function in the specific file rg "CAPITALIZE.*\{.*\}" Resources/Locale/ru-RU/nyanotrasen/abilities/felinid.ftl # Also search for similar hairball messages in other languages for comparison rg "hairball.*CAPITALIZE" Resources/LocaleLength of output: 380
Resources/Locale/ru-RU/nyanotrasen/store/uplink-catalog.ftl (3)
1-2
: Clarify the usage of "они" in the descriptionThe description uses "они" which could be ambiguous - it could be interpreted as either the Russian pronoun "they" or a reference to Japanese "oni" (demons). Consider clarifying the intended meaning to avoid confusion.
4-5
: LGTM! Translation maintains brand integrityThe translation appropriately keeps the Rickenbacker brand name in its original form while providing a clear Russian description.
7-8
: Consider standardizing Japanese term transliterationThe term "Тоусея-Гусоку" might benefit from using the standard Russian system for transliterating Japanese terms. Consider verifying this against other Japanese terms in the Russian localization to ensure consistency.
Resources/Locale/ru-RU/nyanotrasen/reagents/meta/consumable/drink/drink.ftl (1)
1-2
: LGTM! Well-translated descriptionsThe translations maintain the original meaning and humor while being grammatically correct in Russian. The descriptions are clear, culturally appropriate, and properly punctuated.
Also applies to: 5-6, 8-9, 11-11
Resources/Locale/ru-RU/deltav/job/job-description.ftl (1)
5-5
: Verify the context of dog avoidance in Courier description.The mention of avoiding dogs ("Избегайте собак") seems unusual without context. Is this a specific game mechanic or lore element?
✅ Verification successful
Based on the search results, I can now generate the final response as there's clear context about dogs in the game mechanics:
The dog avoidance reference is a legitimate game mechanic and consistent across mail delivery roles
The mention of avoiding dogs is actually a consistent element across mail delivery roles in the game:
- It appears in both the Courier and Mail Carrier job descriptions
- There's even related game content in the maildrobe (clothing vendor) that references outrunning dogs with special mail shorts
- The game includes actual dog NPCs, including security dogs that can be ordered via cargo crates
This shows it's an intentional gameplay element where mail delivery personnel need to deal with dogs as part of their job hazards, similar to real-world mail carriers.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Search for references to dogs in other localization files to verify context rg -g "*.ftl" "dog|собак" Resources/Locale/Length of output: 10319
Resources/Locale/ru-RU/nyanotrasen/reagents/meta/consumable/drink/alcohol.ftl (2)
1-26
: Overall translation quality is good!The translations are accurate and maintain the game's tone well. The descriptions are properly punctuated and convey the intended meaning clearly. The file structure follows the Fluent format correctly.
20-20
: Consider localizing the "Honk-Mother" reference.The current translation "Хонк-Мать" is a direct translation that might lose cultural context for Russian players. Consider adding a brief explanatory note or adapting it to a more culturally relevant reference while maintaining the clown theme.
Resources/Locale/ru-RU/nyanotrasen/reverse-engineering/reverseengineering.ftl (4)
14-20
: LGTM! Status messages are well translatedAll placeholders are correctly preserved, and translations maintain clear meaning.
30-31
: LGTM! Upgrade descriptions are clearThe translations effectively convey the technical meaning of the upgrades.
33-33
: LGTM! Popup message preserves formattingThe translation maintains both the dramatic effect and the proper placeholder structure.
35-35
: LGTM! Examination text maintains formattingThe translation preserves both the color formatting and the difficulty placeholder while maintaining a clear message.
Resources/Locale/ru-RU/nyanotrasen/kitchen/deep-fryer-component.ftl (1)
46-47
: LGTM! Reagent translations are accurate and clear.The translations for the ghee oil reagent and its description are well done, maintaining both technical accuracy and natural Russian language flow.
Resources/Locale/ru-RU/navmap-beacons/station-beacons.ftl (1)
36-39
: LGTM! Improved terminology choices.The updated translations are more appropriate for the Russian-speaking audience:
- "Отдел логистики" is a more modern and comprehensive term that better reflects the department's function
- "Завхоз" is more commonly used and immediately understandable to Russian speakers compared to "Квартимейстер"
These changes align well with the terminology standardization across other localization files.
Resources/Locale/ru-RU/nyanotrasen/markings/felinid.ftl (3)
1-56
: Well-structured localization file!The file follows proper Fluent (FTL) syntax with consistent naming patterns, logical grouping, and appropriate Russian capitalization rules.
34-56
: Excellent consistency in tail-related translations!The tail variations maintain consistent terminology and proper attribute organization across all variations. The translations for accessories (бантик, колокольчик) and base attributes are well-structured and grammatically correct.
1-56
: Verify translation consistency across UI elements.Let's ensure these marking translations are consistent with related UI elements and menus.
✅ Verification successful
Based on the search results, I can now generate the final response since we have comprehensive information about the translations and their consistency.
Translations are consistent across felinid markings
The translations show consistent terminology usage throughout the felinid markings file:
- "Внешний пух" (outer fluff) is used consistently for all outer ear markings
- "Внутренний цвет" (inner color) is used consistently for inner ear markings
- "Бантик" (bow) and "Колокольчик" (bell) are used consistently in tail variations
- All marking prefixes and suffixes maintain consistent terminology
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check for related UI strings and potential inconsistencies echo "Checking for related UI strings..." rg -g "*.ftl" "marking.*Felinid" Resources/Locale/ru-RU/ echo "Checking for potential inconsistent translations..." rg -g "*.ftl" "Внешний пух|Внутренний цвет|Бантик|Колокольчик" Resources/Locale/ru-RU/Length of output: 8002
Resources/Locale/ru-RU/job/job-names.ftl (1)
1-105
: Overall translation quality is good.The translations are generally well-done with consistent formatting and accurate translations. Please address the reported issues:
- Standardize security department naming
- Fix the typo in "Reporter" translation
- Consider standardizing senior role translations
- Fix the alphabetical ordering violation
Once these are addressed, the changes will be ready to merge.
Resources/Locale/ru-RU/preferences/ui/humanoid-profile-editor.ftl (5)
5-6
: LGTM! Consistent UI label formatting.The translations for clothing and loadouts are accurate and follow proper Russian grammar conventions.
18-18
: LGTM! Clear and accurate translation.The translation for custom species name is precise and follows Russian grammar rules.
27-27
: LGTM! Standard UI button translation.The translation "Сбросить" is the standard Russian equivalent for "Reset".
77-77
: LGTM! Clear and appropriate warning message.The warning message is well translated and maintains its authoritative tone.
79-87
: LGTM! Consistent loadout system translations.The loadout system translations maintain consistency with the traits section and use appropriate Russian terminology.
Resources/Locale/ru-RU/customization/character-requirements.ftl (2)
22-43
: LGTM! Well-structured logic operators section.The implementation of logic operators is clear and consistent, with:
- Proper color coding for visual distinction
- Clear hierarchical structure using indentation
- Accurate Russian translations for logical operations
137-141
: LGTM! Clear and consistent whitelist requirement.The whitelist requirement message follows the established pattern and maintains consistency with other sections.
Resources/Locale/ru-RU/job/job-description.ftl (3)
Line range hint
22-27
: LGTM! ERT role descriptions are well-translated and consistent.The translations maintain a consistent style using "Убедитесь, что..." pattern and accurately describe each ERT role's responsibilities.
40-40
: LGTM! Research assistant description is clear and comprehensive.The translation effectively communicates the role's responsibilities in studying artifacts, anomalies, and robotics basics.
47-47
: LGTM! Visitor description is appropriately concise.The translation effectively conveys the passive nature of the visitor role.
Resources/Locale/ru-RU/markings/moth.ftl (3)
1-53
: LGTM: Consistent terminology improvementThe replacement of "Антенны" with "Усики" is more biologically accurate for moth characteristics in Russian and has been consistently applied across all variants while maintaining proper grammar.
86-86
: LGTM: Consistent capitalizationThe capitalization of "Пожарный Дозор" aligns with the proper noun formatting used for other marking names.
Also applies to: 109-109
201-216
: LGTM: Consistent naming across body partsThe capitalization of "Пожарный Дозор" has been consistently applied across all body part markings while maintaining proper Russian grammatical cases.
Resources/Locale/ru-RU/prototypes/entities/structures/wallmounts/signs/signs.ftl (1)
73-74
: LGTM! Consistent terminology changes.The translations have been updated to use "логистика" (logistics) instead of "снабжение" (supply) and "карго" (cargo), maintaining consistency with the terminology changes across the localization framework.
Also applies to: 169-170
Resources/Locale/ru-RU/traits/traits.ftl (2)
1-370
: LGTM: File structure follows FTL best practicesThe file maintains consistent key naming patterns and properly uses FTL's multiline syntax for longer descriptions.
1-370
: LGTM: Content organization is logicalThe traits are well-organized with related traits grouped together (e.g., CyberEyes variants, language traits, physical traits), making the file maintainable and easy to navigate.
Resources/Locale/ru-RU/nyanotrasen/reagents/meta/consumable/food/ingredients.ftl
Show resolved
Hide resolved
Resources/Locale/ru-RU/prototypes/entities/structures/wallmounts/signs/signs.ftl
Outdated
Show resolved
Hide resolved
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 5
🧹 Outside diff range and nitpick comments (3)
Resources/Locale/ru-RU/preferences/ui/humanoid-profile-editor.ftl (3)
14-16
: Add spaces between values and units for better readability.Consider adding spaces between the measurements and their units:
-humanoid-profile-editor-height-label = Рост: {$height}см -humanoid-profile-editor-width-label = Ширина: {$width}см -humanoid-profile-editor-weight-label = Вес: {$weight}кг +humanoid-profile-editor-height-label = Рост: {$height} см +humanoid-profile-editor-width-label = Ширина: {$width} см +humanoid-profile-editor-weight-label = Вес: {$weight} кг
40-40
: Add space after "чтобы".-humanoid-profile-editor-guidebook-button-tooltip = Нажмите чтобы узнать больше +humanoid-profile-editor-guidebook-button-tooltip = Нажмите, чтобы узнать больше
79-87
: Add space before parenthesis in loadouts button.-humanoid-profile-editor-loadouts-remove-unusable-button = Убрать неприменимое снаряжение({$count}) +humanoid-profile-editor-loadouts-remove-unusable-button = Убрать неприменимое снаряжение ({$count})
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (7)
- Resources/Locale/en-US/job/job-description.ftl (1 hunks)
- Resources/Locale/ru-RU/job/job-names.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/job/job-names.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/kitchen/deep-fryer-component.ftl (1 hunks)
- Resources/Locale/ru-RU/nyanotrasen/reverse-engineering/reverseengineering.ftl (1 hunks)
- Resources/Locale/ru-RU/preferences/ui/humanoid-profile-editor.ftl (4 hunks)
- Resources/Locale/ru-RU/traits/traits.ftl (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (4)
- Resources/Locale/en-US/job/job-description.ftl
- Resources/Locale/ru-RU/nyanotrasen/job/job-names.ftl
- Resources/Locale/ru-RU/nyanotrasen/kitchen/deep-fryer-component.ftl
- Resources/Locale/ru-RU/nyanotrasen/reverse-engineering/reverseengineering.ftl
🧰 Additional context used
🔇 Additional comments (9)
Resources/Locale/ru-RU/job/job-names.ftl (3)
67-68
: Fix alphabetical ordering of role timers.The comment "Make these alphabetical or I cut you" requires alphabetical ordering, but
JobBrigmedic
is out of sequence.Move the line to maintain alphabetical ordering:
-JobDetective = Детектив -JobBrigmedic = Бригмедик +JobBrigmedic = Бригмедик +JobDetective = Детектив
10-10
: Verify the translation choice for Research Director.The translation "Мистагог" for Research Director (lines 10, 90) is an unusual choice. While technically correct, it might not clearly convey the role's responsibilities to Russian speakers. Consider using a more conventional term like "Директор по исследованиям" or "Научный руководитель".
Let's check if this term is used consistently across other localization files:
#!/bin/bash # Search for the term in other Russian localization files rg "Мистагог" "Resources/Locale/ru-RU/"Also applies to: 90-90
28-29
:⚠️ Potential issueAdd missing translation for "attorney" and resolve inconsistency.
The comment indicates a change from "Lawyer" to "Attorney", but:
- The new translation for "attorney" is missing
JobLawyer
is still present in the role timers section (line 78)This needs to be addressed to maintain consistency across the codebase.
Let's verify if "attorney" is used elsewhere in the codebase:
Also applies to: 78-78
Resources/Locale/ru-RU/preferences/ui/humanoid-profile-editor.ftl (5)
5-6
: LGTM!The translations for clothing and loadouts labels are accurate and consistent with Russian UI conventions.
18-18
: LGTM!The translation for custom species name label is accurate and clear.
27-27
: LGTM!The translation for the reset button is appropriate and follows common Russian UI patterns.
54-70
: LGTM!The traits system translations handle Russian plural forms correctly and provide clear UI messaging.
77-77
: Use proper localization syntax for the rules link.The markdown-style link
\[Правила\]
might not render correctly. Consider using the appropriate localization syntax for links if supported by your localization system.Resources/Locale/ru-RU/traits/traits.ftl (1)
147-147
:⚠️ Potential issueFix grammatical error in trait description
The phrase "Вы можете знаете" should be "Вы знаете".
Apply this diff to correct the grammatical error:
-trait-description-SignLanguage = Вы можете знаете базовый язык жестов Тау-Кети (TCB-SL). +trait-description-SignLanguage = Вы знаете базовый язык жестов Тау-Кети (TCB-SL).Likely invalid or redundant comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Немного подправить и можно мержить
Resources/Locale/ru-RU/nyanotrasen/reagents/meta/consumable/drink/drink.ftl
Outdated
Show resolved
Hide resolved
Resources/Locale/ru-RU/prototypes/entities/structures/wallmounts/signs/signs.ftl
Outdated
Show resolved
Hide resolved
Я верю себе |
Описание PR
Описание.
Изменения
🆑