8000 GitHub - WoozyMasta/dayz-stringtable: A lightweight Go CLI that streamlines CSV ↔ Gettext localization workflows for DayZ stringtables.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

WoozyMasta/dayz-stringtable

Repository files navigation

DayZ StringTable GetText CLI

A simple CLI tool for managing localization of DayZ stringtables.csv and Gettext formats.

This utility helps you:

  • Generate a POT template from your base CSV of original strings.
  • Create PO files (per language) from CSV, with empty translations.
  • Merge PO files back into a full CSV of translations.
  • Update existing PO files when you add new strings to CSV.

Under the hood it uses gettext .pot and .po formats.

About POT & PO

  • .pot: template with all msgid (original texts) and msgctxt (keys), empty msgstr.
  • .po: one .po per language, where msgstr holds actual translations.

Workflow

  1. Get your source strings in CSV.
  2. potgenerate .pot template.
  3. poscreate new .po files with blank translations.
  4. Edit .po files using Poedit, Crowdin, LLM-assisted scripts, or manually.
  5. makeexport translations back into CSV.
  6. When new strings appear: updatemerge into existing .po.

Using Git, translators can work on just their own .po files in separate branches/PRs, avoiding noise in other locales.

Installation

Download the latest binary from releases or build from source:

Download links
dayz-stringtable-darwin-arm64
dayz-stringtable-darwin-amd64
dayz-stringtable-linux-i386
dayz-stringtable-linux-amd64
dayz-stringtable-linux-arm
dayz-stringtable-linux-arm64
dayz-stringtable-windows-i386
dayz-stringtable-windows-amd64
dayz-stringtable-windows-arm64
git clone https://github.com/woozymasta/dayz-stringtable.git
cd dayz-stringtable
go build ./cmd/dayz-stringtable

Usage

dayz-stringtable [OPTIONS] <command>

Options

  • -v, --version show version and build info
  • -h, --help show help

Commands

pot

Generate a POT template (empty translations):

dayz-stringtable pot -i stringtable.csv -o stringtable.pot

pos

Create PO files per language (empty msgstr):

dayz-stringtable pos -i stringtable.csv -o l18n
# or for specific langs:
dayz-stringtable pos -i stringtable.csv -l russian,spanish -o l18n

make

Merge all PO files into one CSV of translations:

dayz-stringtable make -i stringtable.csv -d l18n -o translated.csv

update

Add new strings from CSV to existing PO files:

dayz-stringtable update -i stringtable.csv -d l18n
# to a separate folder:
dayz-stringtable update -i stringtable.csv -d l18n -o updated_l18n

Integrations & Tools

For integration into your project or CI, you can check out the examples of automation scripts strings.sh and strings.ps1

  • Poedit – GUI editor that can auto-translate using DeepL/Google APIs.
  • Crowdin/Lokalise/POEditor – cloud localization platform.
  • LLMs – you can script translate-toolkit with LibreTranslate or OpenAI to auto-fill msgstr.

Crypto Donations

  • BTC: 1Jb6vZAMVLQ9wwkyZfx2XgL5cjPfJ8UU3c
  • USDT (TRC20): TN99xawQTZKraRyvPAwMT4UfoS57hdH8Kz
  • TON: UQBB5D7cL5EW3rHM_44rur9RDMz_fvg222R4dFiCAzBO_ptH

Your support is greatly appreciated!

About

A lightweight Go CLI that streamlines CSV ↔ Gettext localization workflows for DayZ stringtables.

Topics

Resources

License

Stars

Watchers

Forks

0