Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Autolocalization
AutoLocalization is a game localization tool specifically designed for BepInEx mods. It exports descriptions and texts of configuration options for players to localize and translate, making it easy to localize all your mod settings!
| Date uploaded | 11 months ago |
| Version | 1.0.1 |
| Download link | HsgtLgt-Autolocalization-1.0.1.zip |
| Downloads | 530 |
| Dependency string | HsgtLgt-Autolocalization-1.0.1 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2333ValheimModding-YamlDotNet
Shared version 16.3.0 of YamlDotNet from Antoine Aubry and contributors, net47 package for use in Valheim mods. Maintained by the ValheimModding team.
Preferred version: 16.3.1README
🚀 AutoLocalization Introduction
A game localization tool designed specifically for BepInEx mods, automatically exports configuration option text for player translation, making mod settings localization effortless!
✨ Core Features
- 🌍 One-Click Translation: Automatically detects and translates configuration option descriptions
- 🔄 Hot-Reload Compatible: No game restart needed after translation updates (takes effect in ~5 seconds)
- 📥 Smart Text Collection: Automatically collects untranslated text from new mods
- 🧠 Auto Detection: Recognizes configuration descriptions from all mods
- 📝 Simple Translation Format: Uses easy-to-edit YAML files
- 🌐 Multi-Language Support: Supports Chinese/Japanese/Korean and any other languages
📥 Installation Steps
- Download the mod file
- Extract to game root directory
- Place
Autolocalization.dllin theBepInEx/pluginsfolder - Start the game for automatic initialization
⚠️ Important Note: This mod MUST be the first loaded plugin! Plugins loaded before AutoLocalization cannot be translated
🛠️ User Guide
First Time Setup
- Start the game
- The mod will generate in
BepInEx/config/AutoLocalizationEngine:AutolocalizationGlobalTranslations.yaml(translation file)AutolocalizationUntranslatedTexts.yaml(untranslated text)
🔧 Hot-Reload Process
- Edit
AutolocalizationGlobalTranslations.yamlto add/update translations - Save the file
- Wait about 5 seconds
- Return to game to see updates
➕ Handling New Mods
- Install new mod and start the game
- New text will be automatically added to
AutolocalizationUntranslatedTexts.yaml - Copy new entries to
AutolocalizationGlobalTranslations.yaml - Add translations and save for automatic loading
📝 Example YAML Format
Offset relative to the upper right corner of the inventory (side elements included): Offset from the inventory's upper right corner (including side elements)
Enabled slot obtaining progression. If disabled - all enabled slots will be available from the start. [Synced with Server]: Enable slot unlocking progression. When disabled - all slots available from start. [Synced with Server]
Main menu button caption: Main Menu Button Text
'[ServerSync] Gain XP when interacting with Pickables': '[ServerSync] Gain XP when interacting with Pickable objects'
❓ FAQ
Q: What to do if translations aren't working?
A:
- Check text matching: Ensure text in translation file exactly matches untranslated text (including case/spaces/punctuation)
- Verify load order: AutoLocalization must be the first loaded plugin
- Check YAML syntax: Ensure no missing colons/correct indentation/valid characters
- Wait for reload: Wait about 5 seconds after saving file
- Confirm file location: Located in
BepInEx/config/AutoLocalizationEngine/
📜 Changelog
v1.0.0 (2025-07-23)
- First stable release
- Added debug mode
❤️ Support the Developer
If this mod has improved your gaming experience:
- Please share it with more players!
- Feedback channels:
QQ Group: 157845336
Discord: https://discord.gg/Rb5sMKUt
Developer's Note: Thank you for using AutoLocalization! Your support drives continuous improvement
CHANGELOG
📜 Changelog
v1.5.6
- 🔧 Translation Key Conflict Detection - Added automatic detection and resolution for translation key conflicts:
- System automatically detects when multiple original texts are translated to the same key
- Automatically generates unique suffixes based on MD5 hash to prevent duplicate key errors
- Prevents BepInEx configuration errors caused by duplicate keys
- ✅ Translation Validation Mechanism - Enhanced translation validation to ensure compliance with BepInEx requirements:
- Validates that translated text does not contain invalid characters (=, \n, \t, , ", ', [, ])
- Ensures translated text has no leading or trailing spaces
- Automatically removes invalid translations to prevent mod crashes
- 🔄 Fixed Translation File Merging - Fixed issue where translation files were automatically merged during secondary collection:
- Translation files now correctly merge without data loss
- Improved file merging logic to handle multiple translation sources (translations.yaml and collected_items.yaml)
- Added persistent group memory to maintain grouping stability across file saves
- Note: This fix only affects grouping metadata, not user-provided translation text in
translations.yaml
- 🛡️ Enhanced Exception Handling - Optimized exception handling in configuration and GUID mapping stages:
- Improved exception detection and handling during ConfigEntry/ConfigDefinition processing
- Better error recovery and logging when building GUID mappings
- Prevents crashes caused by unhandled exceptions in configuration processing
v1.5.5
- 📝 YAML File Format Documentation Update - Translation files now support two formats:
- Nested format: Grouped by mod GUID for easier management and organization of translation content
- Flat format: A simple backward-compatible format suitable for small-scale translations
- The system automatically recognizes and loads both formats, users can choose according to their needs
- ⚙️ New Collection Feature Toggle Configuration - Added
[Collection]configuration section in.com.HsgtLgt.autolocalization.cfg:EnableCollection: Controls whether to enable the collection feature- After translation is complete, the collection feature can be disabled to improve game startup speed
- When disabled, the system only applies existing translations and no longer collects new content
v1.5.4
- 🎨 Updated Icons - Improved visual design and user interface with new icons
- 📝 Updated MD Content - Enhanced documentation and markdown files for better readability and user guidance
v1.5.2
- 🔧 Fixed Translation File Loading - System now correctly recognizes and loads user-provided translation files
v1.5.0
- Complete core architecture rebuild
- New high-performance caching system
- Improved file management and user experience
- Optimized translation workflow