This tutorial applies to versions 1.5+ of the program DS Texts Mod Helper (DSTMH).

Overview

DSTMH is a modding tool mainly designed to facilitate the work of mod translators. It can read/write batches of files for all Souls games supported by SoulsFormats:
- Demon's Souls
- Dark Souls: Prepare To Die Edition
- Dark Souls: Remastered
- Dark Souls 2
- Dark Souls 2: Scholar of the First Sin
- Dark Souls 3
- Bloodborne (Not tested, should work)
- Sekiro (Not tested, should work)
- Elden Ring (Not tested, should work)

Using FMG files as input, you get 3 processing modes:
- Read : Get the text contents from a file
- Compare : Check the differences in the contents of 2 files
- Prepare : Replicate a mod file structure and use the vanilla files to translate unmodified values

The selected mode can be launched through 2 distinct actions:
- Show output preview
- Generate ouput files


FMG input files

FMG files are text containers in Soulsborne games: they hold all textual contents under the form of ID/value pairs that we call "entries". Such files are encrypted and therefore cannot be simply opened with regular text editors: you will need dedicated softwares developped by the modding community to interact with them.

DSTMH should handle any of these files, which are of slightly distinct versions and stored differently, depending on which of the games you are working with: retrieve/extract those files from the games data and drop them onto the input areas of the program to register them.

Doing so, you will get a grid filled with some information about each file: you can leave your mouse onto the Filename column to display a tooltip with even more details. The dropped files from several input areas (A, B, C, depending on the selected mode) must match between each other: they should share the same FMG version, the same filename, etc. DSTMH will display error messages anyway if something goes wrong.

Image : FMG files in Windows file explorer
Image : Input files in the program


Read mode

Read the contents of single FMG files. Output format for this mode is CSV, with separator as defined in options.

Compare mode

Compare entries from two FMG files against each other. You can use that mode to build changelogs between versions, or to estimate mod translation workloads. Output format for this mode is CSV, with separator as defined in options.
Note: FMG entries with null values (no text) on both sides are ignored for shortness, so this mode does not strictly restitute files data.

Prepare mode

Setup the final files for the translation of a mod texts. By automating some tedious steps, it will allow you to focus only on the contents to be translated. Output format for this mode is FMG.

Say you want to translate a mod in Italian. Like always, this mod has its text contents in English. To work, you will need the modded FMG files obviously, but also both the English (same language) and Italian (target language) ones from the original game. With this example, Prepare mode would process these 3 sets of files:
- A. The mod files
- B. The English vanilla files
- C. The Italian vanilla files
The program will process them to create new FMG files in output. In term of structure, the A files are replicated. In term of values, that depends on values from A and B:
- They are identical. OK the mod did not change these entries => Values from C are used (original Italian text data)
- They are different. So these are new values added by the mod => Values from A are kept as is (translation needed)

To summarize:
At the end of a Prepare mode process, you get FMG files that are compatible with the mod logic (all referenced text IDs will be found in-game) so you can play with those right away. As a person in charge of the translation, you only need to worry about the values that have remained in English: you will need another program to edit these values in the FMG files, DSTMH itself not being a FMG Editor.


Show output preview

This will open a new dedicated window with tabs, each of them corresponding to a line in the input files areas. You can use the lower options to tweak the appearance of displayed data.
Note: in all processing modes, only the 50 first entries will be displayed.

Image : Output preview


Generate output files

Read & Compare mode (Format = CSV)
Once you are done processing the files in these modes, get the CSV files from the DSTMH output directory. You can open them with any text editor, but also with spreadsheet softwares like Excel as shown below. Just make sure to select the appropriate separator character.
Image : Load CSV files in Excel (1)
Image : Load CSV files in Excel (2)

Prepare mode (Format = FMG)
Once you are done processing the files in Prepare mode, get the FMG files from the DSTMH output directory. You can edit them with Wulf's FMG Editor: sure this tool can be really slow, especially on large files, but it has been used for years on Souls games and supports CSV import/export to perform massive edits in regular text editors. You can download it from these other mod pages: Link #1 or Link #2
Image : Edit FMG files with Wulf's FMG Editor



Example of small image as link to a bigger one:



Real examples

Demon's Souls

As far as I know, there is no DeS mod that involves new texts. I personally submitted this mod about French texts that you can try in DSTMH. Anyway the structure of game files is very close to Dark Souls PTDE/Remastered: the FMG are also located in DCX files that you can find in the \msg\LANGUAGE\ game directory.

Dark Souls Remastered : Age of Sunlight

As often with DSR, English texts of this mod are bundled in DCX files item.msgbnd.dcx and menu.msgbnd.dcx that belong to the \msg\LANGUAGE\ game directory.

You can extract/rebuild them with tools such as Wulf's BND Rebuilder updated by horkrux and Yabber by JKAnderson. Use these to retrieve all FMG modded files (Set of files A) at the bottom of the extracted folders. Do the same for both English vanilla files (Set of files B) and vanilla files of the target language you want to translate the mod into (Set of files C).

Now, process these 3 sets of FMG files in Prepare mode. That will create new FMG files in the Output directory that you can use as a new work base. Get a FMG editor to actually do the translation job on these files, and when you are done, rebuild the modded DCX files.

So the steps are:
1) Extract FMG from both modded and vanilla DCX files
2) Set up the 3 required sets of files
3) Run Prepare mode with them
4) Get the new FMG files in the Output folder
5) Do translate their values with a FMG editor
6) Rebuild the DCX files with these edited FMG files
7) Share these DCX files to the world as a translation for the mod

Note about the Prepare To Die Edition
Some mods are also (if not only) available for the original version of the game. Following our example there is a version of Age of Sunlight for PTDE. There are two main differences that you should know about working on text mods for PTDE : 1) As first step before any modding operation, you will need UDSFM by HotPocketRemix to unpack the large dvdbnd* archives into folders, in order to obtain the same structure as DSR. So from there you will be able to retrieve the DCX files from the \msg\LANGUAGE\ directory. 2) There, the FMG files should have their filenames written in japanese, so be careful. DSTMH will warn you if the input filenames do not match with each others.

Dark Souls 2: SotFS : Seeker of Fire (v1.8)

This mod relies on ModEngine which is very convenient to manipulate files: it is a simple as dropping a few files into the game directory to "override" the loaded data. Still, you will need to extract the original FMG files anyway to use DSTMH Prepare mode. To do so, use UXM by JKAnderson to extract all game archives and retrieve the text files from the \menu\text\LANGUAGE\ game directory.

Now you have 3 sets of FMG input files, which are A) the mod files in English, B) vanilla files in English too, C) vanilla files in the language you want to translate the mod into. Process these 3 in Prepare mode to obtain new FMG files in output that you will use as a new base to work on: the modded texts will be the ones that remain in English, that is what you are going to translate using a FMG editor.

When you are done editing, simply create a new folder under \menu\text\ that matches the vanilla structure (e.g. \menu\text\french\) and copy the FMG files there. You can take inspiration from my own French translation for the mod.

So the steps are:
1) Get the modded FMG files from the mod directory
2) Extract vanilla FMG files from the game archives
3) Set up the 3 required sets of files
4) Run Prepare mode with them
5) Get the new FMG files in the Output folder
6) Do translate their values with a FMG editor
7) Put these edited FMG files back into the mod directory
8) Share these FMG files to the world as a translation for the mod

Dark Souls 3 : ???

TODO

[Other game] : ???

TODO

Advices

- Back up your files regularly
- You can restore vanilla state of a game using the Steam feature Verify Integrity of Game Files

Article information

Added on

Edited on

Written by

McJ0hns0n

0 comments