- Notifications
You must be signed in to change notification settings - Fork0
deseven/1000xTRANSLATE
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A full toolset that will help you to translate1000xRESIST to your favourite language. Work in progress.
The toolset is intended to be used in the following way:
- Toolset exports and parses what is needed from the game files you provide.
- Toolset uploads all strings into a pre-definedGoogle Sheets document.
- You translate all game text in Google Sheets, with optional help of LLMs.
- Toolset pulls all translated strings and builds a ready to use distribution package with localization.
be able to export, parse, translate and import all visible text datatranslator/checker- fonts patching
general polishing & documentationtextureand other resources overrides (?)
Function | State | Description |
---|---|---|
Exporter | ✅ | Exports required game data |
Sheetifier | ✅ | Parses game data and imports all strings into Google Sheets |
Translator | ✅ | (optional) Translates dialogues using LLMs |
Checker | ✅ | (optional) Checks for abnormalities in the translated dialogues |
Desheetifier | ✅ | Pulls all strings from Google Sheets and writes them into game data |
Boom Boom Build | ✅ | Imports required game data, creates distribution packages |
Exports required game data fromGAME_DIR
toRES_DIR
usingUnityPy. It tries to be as version-agnostic as possible to support any patch version of the game (we'll see about that). Game files that we need areresources.assets
and individual bundles listed inthe bundles list.
Parses exported game data fromRES_DIR
into human-readable format, imports it into the pre-defined Google Sheets document (SPREADSHEET_ID
and the rest). If there already were some strings, it appends only missing strings. The function tries to sort the strings into chapters (seechapter definitions). The name is non-negotiable.
(optional) Automatically or semi-automatically translates untranslated dialogues from Google Sheets using vocabulary and context. Marks translated strings with red, because you probably don't want to have unedited machine translation.
(optional) Checks for anomalies in the dialogues using LLMs, creating a report of what was found.
Pulls translated strings from Google Sheets and inserts them into the game data inRES_DIR
.
Imports resources fromRES_DIR
into the game files, outputs changed bundles ready to be replaced in the game directory.
- a copy of game files (everything under
1000xRESIST_Data
) - Linux/macOS/Windows
- node.js 20 or higher
- python 3.9 or higher
SeeINSTALL.md for installation instructions.
SeeUSAGE.md for usage instructions.
- K0lb3 for his work on UnityPy, without which none of this would've been possible
- VaDiM andidkwhatimsaying for helping with typetree extraction
- turinar71 (who is the author of the Italian translation, btw) for some useful info
- K_A_S_a_L_E_X for original data mining
- F3rn4n for making a list of textures for translation
About
A complete toolset for 1000xRESIST localization