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.
.pot
: template with allmsgid
(original texts) andmsgctxt
(keys), emptymsgstr
..po
: one.po
per language, wheremsgstr
holds actual translations.
- Get your source strings in CSV.
pot
→ generate.pot
template.pos
→ create new.po
files with blank translations.- Edit
.po
files using Poedit, Crowdin, LLM-assisted scripts, or manually. make
→ export translations back into CSV.- When new strings appear:
update
→ merge into existing.po
.
Using Git, translators can work on just their own .po
files in separate
branches/PRs, avoiding noise in other locales.
Download the latest binary from releases or build from source:
git clone https://github.com/woozymasta/dayz-stringtable.git
cd dayz-stringtable
go build ./cmd/dayz-stringtable
dayz-stringtable [OPTIONS] <command>
-v, --version
show version and build info-h, --help
show help
Generate a POT template (empty translations):
dayz-stringtable pot -i stringtable.csv -o stringtable.pot
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
Merge all PO files into one CSV of translations:
dayz-stringtable make -i stringtable.csv -d l18n -o translated.csv
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
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-fillmsgstr
.
- BTC:
1Jb6vZAMVLQ9wwkyZfx2XgL5cjPfJ8UU3c
- USDT (TRC20):
TN99xawQTZKraRyvPAwMT4UfoS57hdH8Kz
- TON:
UQBB5D7cL5EW3rHM_44rur9RDMz_fvg222R4dFiCAzBO_ptH
Your support is greatly appreciated!