Skip to content
Mike Manturov edited this page Oct 30, 2019 · 42 revisions

Dwarf Fortress i18n Project Documentation

Translation utility

To apply translation to the game it's recommended to use df-translation-client utility.

Instructions for translators

Instrucciones para traductores

Technical information

Project parts:

  • dfrus-py - patching utility for hardcoded strings + some usefull toolkit. Some documentation. Language: Python 3.4.
  • stringdumps - lists of hardcoded strings of DF versions from 0.34.10 through [the most recent DF version number] used as templates for translation.
  • dfrus patch for hardcoded strings. Language: OpenEuphoria 4.0.5. No longer supported.
  • Changetext project group:
    • Fake_ttf.dll - proxy dll, which intercepts text passed from Dwarf Fortress.exe to SDL_ttf.dll and redirects it to changetext.dll. Language: Assembly (fasm)
    • changetext.dll - utility library which changes a text passed to it from Fake_ttf.dll using external script in Python - changetext.py. Language: C.
    • changetext.py - the script which refines Russian tranlsation (word order, inclination, etc.). Language: Python 3.4.
  • Manual patches:
    • df-manager - rewritten in Assembly and changed version of standardstringentry() function, other patches related to search in the DF manager.
    • addcoloredst-temp - rewritten in Assembly version of addcoloredst() function - changed to use addst() function instead of using addchar() (in order to output text on "Thoughts and Prefences" and similar screens with ttf font).
  • dfgettext - a set of tools which are used to convert parts of files being translated to the GNU gettext format and aback. Helps make translation with the specialized tools both offline (like poedit) and online (like transifex.com).
  • www.transifex.com/dwarf-fortress-translation/dwarf-fortress/ - a place where we perform translation.

TODO: add separate documentation pages for dfgettext, manual patching.

Clone this wiki locally