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 details)

Uploaded Source

File details

Details for the file sltools-0.2.2.tar.gz.

File metadata

  • Download URL: sltools-0.2.2.tar.gz
  • Upload date:
  • Size: 151.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for sltools-0.2.2.tar.gz
Algorithm Hash digest
SHA256 ffa81ee95e7b3e3c319f83a958ecaa3941b9ca82c480dd08d9824e06969bb71c
MD5 be958809701ed9905a85d108318653c0
BLAKE2b-256 d96f0d1cf339ef5855b9bb26151a85a2eb75f42a98613ed18856d925716340d9

See more details on using hashes here.

Supported by

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