Быстрая версия localisation_tool.py на Go. Работает в 7x быстрее Python.
| Версия | Время на 30k ключей |
|---|---|
| Python | ~130ms |
| Go | ~18ms |
Инструмент для проверки полноты локализации модов Hearts of Iron IV:
- Check — сравнивает ключи между локализациями (rus/eng), показывает что не переведено
- Create — создаёт файлы в
wip/с ключами для перевода - Both — выполняет Check + Create за один запуск
Не хочешь собирать? Скачай готовый бинарник для своей платформы:
Доступны версии для Windows, Linux и macOS (Intel/Apple Silicon).
# Homebrew (рекомендуется)
brew install gosudo pacman -S go# Snap для свежей версии
sudo snap install go --classic
# Или вручную
wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc# WinGet
winget install GoLang.Go
# Или Scoop
scoop install goИли скачай инсталлятор .msi с https://go.dev/dl/
go build -ldflags="-s -w" -o loc_tool_goНа Windows:
go build -ldflags="-s -w" -o loc_tool_go.exeФлаги -ldflags="-s -w" убирают debug-символы для меньшего размера.
Запускай из директории с папками russian/ и english/:
# Обычный режим (интерактивный)
./loc_tool_go
# С бенчмарком времени выполнения
./loc_tool_go -bench
# С записью отчёта в файл
./loc_tool_go -report
# Всё вместе
./loc_tool_go -bench -reportloc_tool/
├── main.go # CLI интерфейс
├── checker.go # Логика проверки локализации
├── creator.go # Создание WIP файлов
├── parser.go # Парсинг YML файлов
├── shardmap.go # Concurrent data structures
└── colors.go # ANSI цвета для терминала
# Запустить без сборки
go run .
# Запустить тесты
go test ./...
# Проверить код
go vet ./...# Собрать для Windows на Mac/Linux
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o loc_tool_go.exe
# Собрать для Linux на Mac/Windows
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o loc_tool_go_linux
# Собрать для Mac на Linux/Windows
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o loc_tool_go_mac"go: command not found" Go не в PATH. Перезапусти терминал или добавь вручную:
export PATH=$PATH:/usr/local/go/bin"cannot find package"
Убедись, что запускаешь из директории с go.mod:
cd localisation-tool
go build ...Цвета не работают (Windows) Используй Windows Terminal или PowerShell 7+. Старый cmd.exe плохо поддерживает ANSI.
Permission denied (Linux/Mac)
chmod +x loc_tool_go| Version | Time for 30k keys |
|---|---|
| Python | ~130ms |
| Go | ~18ms |
Tool for checking Hearts of Iron IV mod localization completeness:
- Check — compares keys between localizations (rus/eng), shows untranslated keys
- Create — generates files in
wip/with keys needing translation - Both — runs Check + Create in one pass
Don't want to build? Download a ready-to-use binary for your platform:
Available for Windows, Linux, and macOS (Intel/Apple Silicon).
# Homebrew (recommended)
brew install gosudo pacman -S go# Snap for latest version
sudo snap install go --classic
# Or manually
wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc# WinGet
winget install GoLang.Go
# Or Scoop
scoop install goOr download the .msi installer from https://go.dev/dl/
go build -ldflags="-s -w" -o loc_tool_goOn Windows:
go build -ldflags="-s -w" -o loc_tool_go.exeThe -ldflags="-s -w" flags strip debug symbols for smaller binary size.
Run from a directory containing russian/ and english/ folders:
# Interactive mode
./loc_tool_go
# With execution time benchmark
./loc_tool_go -bench
# With detailed report file
./loc_tool_go -report
# Both options
./loc_tool_go -bench -reportloc_tool/
├── main.go # CLI interface
├── checker.go # Localization checking logic
├── creator.go # WIP file creation
├── parser.go # YML file parsing
├── shardmap.go # Concurrent data structures
└── colors.go # ANSI terminal colors
# Run without building
go run .
# Run tests
go test ./...
# Check code
go vet ./...# Build for Windows on Mac/Linux
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o loc_tool_go.exe
# Build for Linux on Mac/Windows
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o loc_tool_go_linux
# Build for Mac on Linux/Windows
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o loc_tool_go_mac"go: command not found" Go is not in PATH. Restart terminal or add manually:
export PATH=$PATH:/usr/local/go/bin"cannot find package"
Make sure you're running from the directory with go.mod:
cd localisation-tool
go build ...Colors not working (Windows) Use Windows Terminal or PowerShell 7+. Old cmd.exe has poor ANSI support.
Permission denied (Linux/Mac)
chmod +x loc_tool_goMIT
iAmScienceMan Originally created for: East-Showdown
Femboys rule the world