$ show Ludeon/RimWorld-ru
This repository is the official Russian localization pack for the colony-sim game RimWorld, covering the base game (Core) and all major DLCs (Royalty, Ideology, Biotech, Anomaly) plus the third-party Odyssey content mod. It is predominantly a data repository: roughly 1,780 XML files in RimWorld's standard DefInjected/Keyed layout, where each entry overrides an English game string with a Russian translation and preserves the English source as an inline comment. The pack is the canonical Russian translation distributed with game updates, making it a hybrid asset — mostly localization data with a thin application layer of tooling and grammar code. The application layer is thin but purposeful. LanguageWorker_Russian.cs implements RimWorld's language-worker interface with Russian-specific grammar handling — pluralization (three plural forms), gender agreement, and case inflection backed by WordInfo data files. A GitHub Actions pipeline of eight Python scripts validates XML well-formedness, UTF-8/BOM encoding, dash formatting, gender-macro consistency, and reportString punctuation on every push, catching the class of copy-paste errors that plague large translation corpora. The translation data itself uses RimWorld's macro system ({PAWN_gender}, {lookup:...Case;...}) to produce grammatically correct Russian in dynamic game contexts, including procedural name generation via RulePackDef translations. The repository is actively maintained (last commit 2026-09-13) and tracks current game versions including the Anomaly DLC. Its most reusable assets are the CI validation scripts — encoding, XML, and gender-consistency checks applicable to any localization project — and the Russian grammar logic in the language worker. The XML corpus is project-specific but demonstrates a disciplined pattern for large-scale Slavic localization. Known weaknesses include occasional translation inconsistencies (e.g., copy-paste errors in drug-tolerance stage labels where 'large' is translated as 'medium') and the maintenance burden of tracking rapid game updates across six content areas.
The LLM identified 4 files worth highlighting for reuse:
Implements RimWorld's LanguageWorker interface with Russian-specific grammar: three-form pluralization, gender agreement, and case inflection. The pluralization and gender-agreement logic is non-obvious (Russian morphology is complex) and could be extracted into any Slavic-language localization or text-generation system. It also integrates title-casing via GenText.ToTitleCaseSmart.
Shared utility module for the localization QA pipeline: discovers XML file paths, detects bad encodings (UTF-8/BOM issues), and validates file structure. Self-contained and reusable for any XML-based localization repository that needs encoding and well-formedness enforcement in CI.
Static checker that verifies gender-macro consistency ({PAWN_gender} conditional branches) across translation strings. Solves a recurring problem in Slavic-language localization where gendered verb forms must match the referenced pawn. The pattern generalizes to any template-based text system with grammatical agreement requirements.
Validates XML formatting conventions across the translation corpus, catching malformed or inconsistently formatted localization files before they ship. Reusable as a template for format enforcement in data-heavy repositories.