Translating the texture is done manually.
In general, the steps required are:
- Dumping the texture from the game.
- Replacing the dumped texture in the folder with the translated texture.
To follow these steps, you need to modify the configuration first.
1. Configuration Preparation
If you are using Translator++:
Click on XUnity>Options
In the options window, turn on “Enable Texture Dumping”
Alternatively, you can change it from the .ini file located atBepInEx\config\AutoTranslatorConfig.ini
In the Texture section, change EnableTextureDumping=False
to EnableTextureDumping=True
For Your Information (optional)
The dumped texture files have hash-based filenames, and you can change the method of hashing.
There are 3 methods available, with “From Image Name” being the default. This method is suitable for translating textures in most offline games. However, if you are translating an online game and some of the textures you are translating are atlases – where a single texture file contains multiple images and the game loads based on texture coordinates – there is a high possibility that your game will experience glitches whenever there is new content or atlas coordinate reshuffling.
In this case, you may need to change it to “From Image Data”, which means the hash value is based on the image size. If the original image changes, indicating updates from the server, then the translated texture will automatically become outdated and not load automatically.
However, it’s important to note that the “From Image Data” hash strategy has some weaknesses, including increased processor usage and differences in data size for each user’s VGA brand. This means you may encounter difficulties in redistributing your translated texture results.
2. Dumping Texture
Run the game.
When the game displays textures, XUAT will dump those textures to the folder that has been configured with the default path Translation{Lang}\Texture\
Please note that XUAT can only dump and translate static image textures (usually in PNG format), which means it does not include 3D textures, animated GIFs, videos, or video clips in the game.
3. Replacing with Translated Textures
Assuming you have already translated the textures, you simply need to replace the original textures with the translated ones.
As long as the EnableTextureTranslation
configuration is turned on, XUAT will first check the folder for translated textures, and if a matching hash is found, it will load the texture from the translation folder. If no matching texture is found, the game will load the original texture.
It is highly discouraged to redistribute with EnableTextureDumping
a turned-on in the configuration. Make sure that configurations are turned off when you redistribute.