Valheim
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
3 weeks ago
Downloads
205
Size
64KB
ADDatHost Valheim hosting
30% off

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. UniversalModLocalizer scans installed BepInEx plugins, collects translatable text 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 easier to manage.

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

Features

  • Separate translation folders for every detected mod.
  • Simple UTF-8 JSON translation files.
  • Automatic detection of installed BepInEx plugins.
  • Standard scan with uml scan.
  • Deeper content scan with uml deep.
  • Reload translations without restarting the game using uml reload.
  • Runtime translation support for UI text.
  • Support for TMP_Text and Unity UI Text.
  • Server-to-client translation synchronization.
  • More tolerant JSON loading for common formatting mistakes.
  • Protection for original Valheim localization tokens.
  • Does not modify mod DLLs, save files, worlds or original localization files.

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 the game can continue using the original Valheim translation instead of replacing it with an incorrect mod translation.

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. This mode can find additional 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.

How to use

  1. Install UniversalModLocalizer using r2modman or manually place it inside BepInEx/plugins.
  2. Start Valheim and enter a world.
  3. 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.

  2. Place the completed translation files under:

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

  1. Run:

uml reload

or restart Valheim.

Example

Exported JSON:

{
  "$example_sword": "Ancient Sword",
  "$example_sword_description": "An old sword from a forgotten age."
}

Polish translation:

{
  "$example_sword": "Starożytny Miecz",
  "$example_sword_description": "Stary miecz pochodzący z zapomnianych czasów."
}

Only translate the values. Keep the keys unchanged.

Multiplayer

UniversalModLocalizer can synchronize translation packages from the server to connected clients.

This makes it easier to use one shared translation setup across a modded multiplayer server.

Compatibility

UniversalModLocalizer works best with mods using standard Valheim localization tokens, Jotunn, prefabs or normal Unity/TMP interface elements.

Because every mod can implement its interface differently, some highly customized UI systems may require additional compatibility support.

Dependencies

  • BepInExPack Valheim
  • Jotunn

AI Disclosure

UniversalModLocalizer was developed with assistance from OpenAI Codex.

The generated code was tested and adjusted locally in a Valheim/BepInEx environment.


Polski

Tłumacz mody do Valheim bez edytowania ich plików. Eksportuj teksty, tłumacz je i importuj z powrotem, zachowując osobne pliki dla każdego moda.

UniversalModLocalizer to narzędzie stworzone z myślą o tłumaczeniu modowanego Valheima.

Pozwala zbierać teksty z zainstalowanych modów BepInEx i eksportować je do prostych plików JSON, które można później przetłumaczyć w dowolnym edytorze tekstu lub za pomocą zewnętrznych narzędzi tłumaczeniowych.

Nie trzeba przy tym edytować DLL ani oryginalnych plików modów.

Każdy wykryty mod otrzymuje osobny folder oparty na jego GUID BepInEx, dzięki czemu tłumaczenia różnych modów nie mieszają się ze sobą i można nimi łatwo zarządzać.

Po przygotowaniu tłumaczenia wystarczy umieścić plik w odpowiednim folderze import i przeładować tłumaczenia bezpośrednio w grze.

Najważniejsze funkcje

  • Osobny folder tłumaczeń dla każdego moda.
  • Proste pliki JSON UTF-8.
  • Automatyczne wykrywanie zainstalowanych pluginów BepInEx.
  • Standardowe skanowanie komendą uml scan.
  • Dokładniejsze skanowanie zawartości za pomocą uml deep.
  • Przeładowanie tłumaczeń bez restartowania gry dzięki uml reload.
  • Obsługa tekstów UI tworzonych podczas działania gry.
  • Obsługa TMP_Text oraz Unity UI Text.
  • Synchronizacja tłumaczeń pomiędzy serwerem a klientami.
  • Tolerancyjne wczytywanie plików JSON przy typowych błędach formatowania.
  • Ochrona oryginalnych tokenów lokalizacyjnych Valheima.
  • Brak ingerencji w DLL modów, zapisy gry, światy oraz oryginalne pliki lokalizacyjne.

Ochrona tłumaczeń Valheima

Niektóre mody wykorzystują tokeny, które należą już do podstawowej wersji Valheima, na przykład:

$item_hammer $item_club $piece_fire

UniversalModLocalizer chroni takie tokeny, dzięki czemu Valheim może nadal korzystać ze swojego oryginalnego tłumaczenia zamiast zastępować je niepoprawnym wpisem pochodzącym z tłumaczenia moda.

Lista chronionych tokenów znajduje się tutaj:

BepInEx/config/UniversalModLocalizer/vanilla_tokens.txt

W razie potrzeby można ją również ręcznie rozszerzyć.

Komendy

uml scan

Uruchamia standardowe skanowanie i eksportuje wykryte teksty.

uml deep

Wykonuje dokładniejsze skanowanie widocznych treści modów. Pozwala znaleźć dodatkowe teksty, których standardowe skanowanie może nie wykryć.

uml reload

Ponownie wczytuje tłumaczenia z folderu import bez konieczności restartowania gry.

Jak używać

  1. Zainstaluj UniversalModLocalizer przez r2modman albo ręcznie w folderze BepInEx/plugins.

  2. Uruchom Valheim i wejdź do świata.

  3. Otwórz konsolę i wpisz:

uml scan

lub:

uml deep

  1. Wyeksportowane pliki znajdziesz w:

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

  1. Przetłumacz wartości znajdujące się w plikach JSON.

  2. Gotowe pliki umieść w:

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

  1. Wpisz:

uml reload

lub uruchom Valheim ponownie.

Przykład

Wyeksportowany plik:

{
  "$example_sword": "Ancient Sword",
  "$example_sword_description": "An old sword from a forgotten age."
}

Polskie tłumaczenie:

{
  "$example_sword": "Starożytny Miecz",
  "$example_sword_description": "Stary miecz pochodzący z zapomnianych czasów."
}

Tłumacz tylko wartości. Klucze powinny pozostać bez zmian.

Multiplayer

UniversalModLocalizer może synchronizować paczki tłumaczeń z serwera do podłączonych klientów.

Pozwala to korzystać z jednego zestawu tłumaczeń na całym modowanym serwerze.

Kompatybilność

UniversalModLocalizer najlepiej współpracuje z modami korzystającymi ze standardowych tokenów lokalizacyjnych Valheima, Jotunn, prefabów oraz standardowych elementów interfejsu Unity i TMP.

Niektóre mody posiadają jednak całkowicie własne systemy UI, dlatego w pojedynczych przypadkach może być potrzebne dodatkowe wsparcie kompatybilności.

Zależności

  • BepInExPack Valheim
  • Jotunn

Informacja o wykorzystaniu AI

UniversalModLocalizer został stworzony przy wsparciu OpenAI Codex.

Wygenerowany kod został następnie przetestowany i dostosowany lokalnie w środowisku Valheim/BepInEx.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.