Source-checkedAdmin & protection

UniversalModLocalizer

by FrovixAI · for Valheim

A scoped Valheim mod localization system for exporting, importing, applying, and syncing translations for installed BepInEx mods.

126Downloads
40d agoLast updated
BepInExLoaders
ThunderstoreSource

About UniversalModLocalizer

From Thunderstore

A scoped Valheim mod localization system for exporting, importing, applying, and syncing translations for installed BepInEx mods.

UniversalModLocalizer

Translate Valheim mods without editing their files. Export texts, translate them, import them back and keep every mod neatly separated.


English

UniversalModLocalizer is a translation tool for modded Valheim.

It was created to make translating mods easier without having to manually edit DLL files or modify the original files of each mod.

The mod scans installed BepInEx plugins, finds translatable content and exports it into simple JSON files that can be edited with any text editor or translation tool.

Each detected mod gets its own folder based on its BepInEx plugin GUID, so translations from different mods stay separated and are much easier to manage.

Once your translation is ready, place it in the corresponding import folder and reload it directly in-game.

Features

  • Separate translation folders for every detected mod.
  • Simple UTF-8 JSON translation files.
  • Automatic detection of installed BepInEx plugins.
  • Reads existing JSON, YAML/YML, CSV, TSV and TXT localization files.
  • Standard scan with uml scan.
  • Deeper visible-content scan with uml deep.
  • Reload translations without restarting the game using uml reload.
  • Runtime translation support for hardcoded UI text.
  • Support for TMP_Text and Unity UI Text.
  • Support for simple dynamic text templates and placeholders.
  • Prefab scanning for items, creatures, building pieces, effects and other visible content.
  • Server-to-client translation synchronization.
  • Local cache for synchronized server translations.
  • Protection for original Valheim localization tokens.
  • More tolerant JSON loading for common formatting mistakes.
  • Runtime translation caching for better performance.
  • Does not modify mod DLLs, save files, worlds or original localization files.

Improved Runtime Performance

UniversalModLocalizer is designed to stay lightweight during normal gameplay.

More expensive ownership detection is mainly used when manually running uml scan or uml deep, while normal runtime UI translation uses a faster cached lookup system.

This significantly reduces the performance impact of runtime text translation, especially in heavily modded setups with many UI elements.

For unusual cases where multiple mods use the same hardcoded UI text with different translations, the optional:

EnableScopedRuntimeComponentLookup

setting can enable more precise owner-based matching.

It is disabled by default because the faster lookup method is recommended for normal gameplay.

Vanilla Translation Protection

Some mods reuse localization tokens that already belong to Valheim, for example:

$item_hammer $item_club $piece_fire

UniversalModLocalizer protects these tokens so Valheim can continue using its original localization instead of replacing it with an incorrect translation from a mod package.

Protected tokens are stored in:

BepInEx/config/UniversalModLocalizer/vanilla_tokens.txt

The list can also be edited manually if additional tokens need to be protected.

Commands

uml scan

Runs the standard translation scan and exports detected strings.

uml deep

Performs a deeper scan of visible modded content, including loaded UI elements and additional prefab data.

This mode can find strings that may not be detected during a normal scan.

uml reload

Reloads translation files from the import folders without requiring a full game restart.

uml status

Shows the currently selected language, loaded translations and configuration location.

uml language Polish

Changes the target translation language.

You can also use:

uml language Auto

to automatically use the language currently selected in Valheim.

uml runtime on

Enables collection of hardcoded runtime UI strings while browsing mod menus, HUD elements and other interfaces.

How to use

  1. Install UniversalModLocalizer using r2modman or manually place it inside:

BepInEx/plugins

  1. Start Valheim and enter a world.
  1. Open the console and run:

uml scan

or:

uml deep

  1. Exported files can be found under:

BepInEx/config/UniversalModLocalizer/export/<Language>/<ModGUID>/

  1. Translate the values inside the JSON files.
  1. Place the completed translation files under:

BepInEx/config/UniversalModLocalizer/import/<Language>/<ModGUID>/

  1. Run:

uml reload

or restart Valheim.

Existing export files are merged instead of overwritten, so running another scan will add newly detected strings without deleting your previous work.

Example

Exported JSON:

{
  "$item_fire_sword": "Flaming Sword",
  "$item_fire_sword_description": "A sword engulfed in flame",
  "Ability is not ready": "Ability is not ready"
}

Polish translation:

{
  "$item_fire_sword": "Płonący Miecz",
  "$item_fire_sword_description": "Miecz spowity płomieniami",
  "Ability is not ready": "Umiejętność nie jest gotowa"
}

Translate only the values on the right side.

Keep the keys on the left unchanged.

Dynamic UI Text

UniversalModLocalizer can also handle simple text templates containing changing values.

For example:

{
  "source": "You have {{$count}} skill points",
  "translation": "Masz {{$count}} punktów umiejętności",
  "category": "ui"
}

Common placeholder formats such as:

{{count}} {{$count}} {0} %s %d

are supported.

The mod can also warn when a translation is missing a placeholder that exists in the original text.

Multiplayer

UniversalModLocalizer can synchronize completed translation packages from a dedicated server to connected clients.

The server sends translations only when the client's cached version is different, reducing unnecessary transfers.

Clients can therefore automatically receive the translation package used by the server.

The UniversalModLocalizer plugin still needs to be installed on the client for runtime UI translations.

Compatibility

Read the full description on Thunderstore →

Highlights

From source data

Loaders

Runs on BepInEx.

Footprint

Rated a light load on a server.

Last update

Its author last shipped an update 40d ago.

UniversalModLocalizer on Nxeon

From our catalogue
One-click install
Supported on Nxeon Valheim servers, for BepInEx servers. We download it from Thunderstore, place it, and restart the server.
Server side
Optional on the server
Server type needed
BepInEx
Server load
light
Smallest plan we suggest
Valheim — 4 GB (4 GB RAM). This follows our own load rating above, not a benchmark.
Latest build
0.1.13, released 2026-09-25

Game versions by loader

LoaderGame versionsNewest
BepInEx

From 2 recorded builds of UniversalModLocalizer.

Recent builds

BuildReleasedGame versionsLoaders
0.1.132026-09-25n/aBepInEx
0.1.112026-09-24n/aBepInEx

Dependencies

Declared by the newest build that lists any. Required ones are installed with it on one-click installs.

Run UniversalModLocalizer on a Valheim server

Pick a server or deploy a new one above; it is installed in one click.

What kind of mod it is

From the catalog
Listed on Thunderstore as “Admin”

Admin & protection

Permissions, moderation, anti-cheat and land protection for the people running the server.

Works on a server

From source side support

Thunderstore lists server-side support for UniversalModLocalizer as optional: it can run on a server, but isn’t required there.

Compatibility

Game
Valheim
Loaders
BepInEx
Runs on
Serveroptional on the server
Requires
One-click install needs a BepInEx server.

Verified at the source

  • ✓ThunderstoreOfficial listing, checked 2026-10-01Open ↗
  • ✓AuthorFrovixAI, as published on Thunderstore
  • ✓LicenseNot published by the sourceFree

UniversalModLocalizer, answered

Generated from the mod’s own source data.

Do my players need to install UniversalModLocalizer?

Thunderstore lists server-side support for UniversalModLocalizer as optional: it can run on a server, but isn’t required there.

Which loaders does it support?

BepInEx.

Is it free?

Yes. UniversalModLocalizer is free to download from Thunderstore.

How do I add it to my Nxeon server?

Use “Add to a server” on this page, or open NxLabs from your dashboard. We install it, restart your server and switch it on.

NxLabs

Run UniversalModLocalizer on a Valheim server.

Deploy in about a minute from $9.99 a month, then add UniversalModLocalizer in one click.