Skip to main content

S.T.A.L.K.E.R Localization Toolbox

Project description

This is a repository of the "S.T.A.L.K.E.R Localization Toolbox"

This project is created to ease routine manipulations of working on localization of S.T.A.L.K.E.R mods.

Primarily it's designed (and tested) to translate mods to Ukrainian language

Goals (TODO)

Create All-in-one app which will help to produce clean, maintainable, correct mod localizations with ease, both text and audio.

Planned features

Infra:

  • Add version tracking from PyPI
  • Add multilang support
    • Add ukrainian language support
  • Add ~/.sltools/config file to store configuration

Text:

  • Git integration (check for dirty environment)
    • Add modified files saving into mirrored directory for non-tracked files
  • Bad encoding detection and fixes
  • Resolve XML C-style includes Example here
  • XML formatting and fix. S.T.A.L.K.E.R's XML parser has loose XML validation, and swallows files with some tokens not allowed in XML 1.0 specification. Example here
  • <text> entries formatting. Game's XML parser ignores extra spaces and line breaks (just like HTML). The only way you can put a line break is to use \n. This feature alligns text within text blocks to look alike in the game. Example here
  • Analysis for not translated files/text blocks
  • Automatic text translation using DeepL.
  • Analyze broken patterns/placeholders/colors
    • Save report only with --save option
    • Compare 2 file reports
    • Fix broken patterns/placeholders/colors
  • Search for duplicate keys
    • Add visualized duplicates graph using D3
  • Capitalize text entries
  • Grammar and typos checkup
  • Capitalization of the text blocks
  • Automatic scraping for files you need to translate (if you just start translating) with integration with Mod Organizer 2 mod priority (if you want to translate a modpack with all at once)

Audio:

  • Handy operations with audio (using ffmpeg):
    • Convert to-ogg/to-mp3
    • Convert to mono
    • Trim/split audio by second
    • Trim silence from audio (with user defined margin)
    • Normalize audio level
  • Apply quick effects (gas mask, radio, pitching, noise)
  • Translating Speech-to-Speech and keeping voice signature using AI

Audio:

  • Handy operations with audio (using ffmpeg):
    • Convert to-ogg/to-mp3
    • Convert to mono
    • Trim/split audio by second
    • Trim silence from audio (with user defined margin)
    • Normalize audio level
  • Apply quick effects (gas mask, radio, pitching, noise)
  • Translating Speech-to-Speech and keeping voice signature using AI

Important info

  1. All XML files are using Winodws-1251 encoding, so it's better to setup your IDE/text editor, git to this encoding by default
  2. A lot of functionality here (like autotranslation) may sometimes introduce breaking changes like missing/broken placeholder, etc, so it's hardly recommended to make git repository out of your mod, and commit changes before each script use (or at least commit often)

Module Installation

# Uninstall previous if present
pip uninstall sltools
# Install in dev mode
pip install -e .

Module Testing

sltools
python3 -m sltools
python3 sltools.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sltools-0.2.2.tar.gz (151.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page