Valheim
This package has been deprecated and may no longer be maintained. We recommend looking for an alternative.
Install with App

Details

Latest version
0.6.0
Last Updated
First Uploaded
Downloads
35
Likes
0
Size
361KB
Dependants

Tags

Deprecated
ADDatHost Valheim hosting
30% off

Изменения

0.6.0 (2026-09-29)

Highlights

Первый выпуск после 0.2.0 и первый на Thunderstore. Tolmach работает сам, без другого пакета русского перевода: 87 модов и субтитры игры, перевод с оригинального английского текста модов. Ниже изменения по этапам, от новых к старым.

Еще 18 модов

  • Переведены 16 модов:
    • Armory от Therzie: названия и описания доспехов, плаща и пояса, оружейная станция, бонусы комплектов, вкладка молота «Военное дело». Это не Valheim Armory от MidnightMods: у того свой полный русский;
    • MyLittleUI: статистика персонажа в главном меню и слова часов в режиме Fuzzy;
    • SmelterUpgrades: подсказки плавильни, печи и доменной печи, сообщения, улучшения в меню молота;
    • Infinity Hammer, Server devcommands, World Edit Commands: сообщения при строительстве, на HUD и на большой карте;
    • NetworkPerformanceSystem: сообщения при обрыве связи с сервером;
    • ValheimInfiniteFire и Transmog: подсказки у огня и сообщение о переключении внешнего вида;
    • Better Beehives, Spearfishing, Solid Hitboxes, Torches Are Fires, Wield Equipment While Swimming, Quick Teleport, Quick Stack Store: сообщение о несовпадении версий при входе на сервер (своего текста у этих модов нет или он уже переведен самим модом).
  • Recipe Description Expansion: в подсказке комплекта части теперь названы как в игре, а не внутренними именами вроде ArmorTrollLeatherChest. Комплект тоже назван как в игре: своим ключом или названием эффекта комплекта. Комплекты Armory там больше не теряют название из-за регистра ключа. Для этого у шаблонов Tolmach появились параметры item и itemSet.
  • MissingPieces переведен самим модом полностью, но в трех строках были ошибки, и Tolmach их исправляет: «Деревянная стена 1x1» (стояла кириллическая «х») и описания двух верхних стен (на обе было скопировано одно описание). Для таких исправлений в каталоге есть список replaceNative; остальной русский модов Tolmach по-прежнему только дополняет.
  • Текст методов, которые Harmony не может пропатчить (фильтр исключений, блок fault), теперь переводится там, где он передается методу показа: например, заголовки окон редактора настроек Traders Extended. Предупреждение UI patch skipped в журнале остается, только если строка каталога действительно осталась английской.
  • У Transmog и Quick Stack Store свой русский полный, Tolmach его не трогает.
  • Не переведено, подробности в docs/COVERAGE.md:
    • справка и вывод консольных команд инструментов JereKuusela, окно ConditionalConfigSync об отказе в подключении;
    • имена инструментов Infinity Hammer из его файла данных.
  • Проверки: 455 тестов NUnit, валидатор данных со схемой каталога, проверка пакета.

SocialSystem и новые версии модов

  • Переведен SocialSystem 1.0.1: друзья, группы и личные сообщения.

    • Окна «Общение» и «Группа», статусы («В сети», «Отошел», «Невидимый», «Не в сети»), подсказки кнопок и диалоги.
    • Приглашения, проверка готовности, сообщения на экране и в чате ([ЛС], [Группа]).
    • Справка команд dm, r и p в консоли.

    Мод хранит строки в своей таблице Jotunn, только на английском и немецком. Tolmach добавляет туда русскую и ничего не заменяет. Не переведена чит-команда socialsystem_fake: ею автор мода проверяет друзей и группы в одиночку.

  • В AdventureBackpacks 2.2.2, More_World_Locations_AIO 5.1.5 и WackysDatabase 2.5.36 снова переводятся строки из кода. Каталоги были сверены с прежними версиями этих модов, и, увидев другую версию, Tolmach пропускал перехват строк, а ключи словарей работали. В новых версиях все строки каталогов на прежних местах, словари и обучающие тексты не изменились, переводы те же.

  • Обновление мода больше не отключает его перевод. Если версия отличается от той, с которой сверен каталог, Tolmach переводит строки, которые находит, а новые строки мода остаются английскими. О версии и ненайденных строках он предупреждает в журнале и в Tolmach.runtime.txt. Параметр Compatibility.AllowOtherVersions заменен на Compatibility.OnlyAuditedVersions (по умолчанию выключен): он оставляет для других версий только словарные переводы, как раньше. Старую строку AllowOtherVersions из muratovnik.tolmach.cfg можно удалить.

  • Проверки: 380 тестов NUnit, валидатор данных со схемой каталога, проверка пакета.

По смыслу, а не по совпадению слов

  • Исправлены названия, которые 0.5.2 взял из игры только потому, что английское слово то же, хотя предмет у мода другой:
    • GoldBars: «Небольшая кучка монет»; «Гора монет» в игре — большой клад;
    • VNEI: вкладка «Рецепты», потому что в ней не только ремесло, но и добыча с существ, переплавка и готовка; фильтр «Все станции»: верстаки, инструменты, плавильни, существа;
    • Shipyard: «Просмоленная лестница 2 м» — это лестница, как на корабле, а не стремянка;
    • Amazing Nature: «Проверить» у гнезда шелкопрядов, как «Проверить пчел» у улья;
    • VikingNPC: «Хозяин» в подсказке над викингом.
  • Остальные правки 0.5.2 перепроверены по коду и ресурсам модов и остаются: «Пиры», «ремесленная стойка», «Залежи медной руды» (в моде Ore Deposit), «Рунная кузница», «Вкл.»/«Выкл.».
  • Каталог перевода с опечаткой в названии раздела или с пустым значением вместо таблицы теперь не загружается, и это видно в журнале. Раньше строки такого раздела молча оставались английскими.
  • Проверки: 373 теста NUnit, валидатор данных со схемой каталога, проверка пакета.

Как в игре

  • Переводы сверены с русской локализацией игры:
    • «ё» больше не пишется, как и в самой игре: «Черный лес», «Кремневая кирка». Имена собственные её сохраняют: «Бьёрн», «Ёрмунганд»;
    • между числом и единицей измерения неразрывный пробел: «2 м», «17 с»;
    • термины приведены к игровым:
      • Culinary Horizons: вкладка «Пиры» вместо «Банкеты»;
      • VNEI и Amazing Nature: «ремесленная стойка» вместо «станции»;
      • VNEI: «Чертежи» вместо «Рецепты»;
      • OreMines: «Залежи медной руды» вместо «Медная жила»;
      • GoldBars: «Небольшая гора монет»;
      • Amazing Nature: «Рунная кузница» и «Посмотреть» у гнезда шелкопрядов;
      • Shipyard: «Просмоленная стремянка»;
      • VikingNPC: «Владелец»;
      • Lightkeeper: «Вкл.»/«Выкл.».
  • TakeAllCooked: подсказка у стойки для готовки «Взять все готовое». Мод берёт её из своего конфига; если вы поменяли этот текст сами, он останется как есть.
  • Проверки: 371 тест NUnit, валидатор данных, подсказка TakeAllCooked на DLL самого мода вне игры.

Сверка покрытия

  • Все 68 модов сверены с перечнем строк, которые переводил другой пакет перевода. В части модов строки выпали при подготовке 0.4.0: строку, которую нельзя было заменять в одном месте, не перевели и во всех остальных. Теперь они переведены:
    • MoveBuildPieces: сообщение «Блокировка для перемещения потеряна»;
    • Huginn: группа меток «Портал» в фильтре карты, строки о залежах в выводе huginn.lookingat;
    • Location Placement Accelerator: режим «Ванильный» на экране расстановки локаций;
    • Amazing Nature: эффект «Провокация» и «Кремнёвая кирка»;
    • Arsenal Reborn: эффект «Благословение Одина».
  • Ключи, для которых мод не задаёт английского текста, но показывает их в игре, написаны по контексту:
    • Amazing Nature: названия шести скал («Ледяной утёс», «Скала Пепельных земель»), описание трофея лесного тролля, надпись на табличке мифического алтаря;
    • Arsenal Reborn: описание «Глубинного клеймора»;
    • VNEI: фильтр «Все станции».
  • BossAdd: в сообщении о порядке убийства цвет Массы костей теперь по-русски («Сначала убейте [красную] Массу костей!»). Раньше цвет оставался корейским.
  • Проверки: 368 тестов NUnit, валидатор данных, сверка новых литералов с IL модов. В игре эти изменения не проверялись.

Creature Level and Loot Control

  • Переведён Creature Level and Loot Control: таблички существ с эффектами, стихиями и особенностями боссов в роде существа («Огненная Летучая мышь», «Эйктюр Отражающий»), сообщения о росте уровня сектора и о призыве на помощь, уровень сектора на миникарте, кнопки редактора YAML, значения списков и все 69 настроек в окне F1, вывод консольных команд cllc. Всего 68 модов и субтитры игры.
  • У этого мода своя YAML-таблица переводов, которую он читает один раз при запуске. Tolmach загружается после него и подставляет русскую таблицу; если рядом с модом лежит свой Russian.yml, дописывает только недостающее. Имена секций и ключей в .cfg остаются английскими.
  • Исправлено по первой проверке 0.4.0 в игре (игра запускается, русский включается):
    • EquipmentAndQuickSlots: подписи слотов «Плечи» и «Оберег» (были Shoulders и Trinket);
    • CraftyCartsRemake привязан к установленной 3.2.4, повозки со станциями и их хранилища называются «Повозка (Верстак)» и «Хранилище: Повозка (Верстак)» вместо «Верстак Повозка Storage»;
    • AzuAutoStore: подсказки избранных предметов и ячеек («Ячейка в избранном…»);
    • метки карты: цели рунных камней UsefulRunestones без своего названия («Лагерь Хильдир» вместо Hildir_camp) и названия локаций ExpertExplorer у меток, сохранённых на английском («Погребальные комнаты» вместо Burial Chambers);
    • ложные предупреждения «Literal not replaced» у методов с перегрузками (AzuAutoStore, PlantEasily) и больше сотни предупреждений HarmonyX о поиске полей в журнале.
  • Проверки: 368 тестов NUnit, валидатор данных, сверка литералов с IL; таблички, сообщения и настройки CLLC проверены на DLL самого мода вне игры, патчи остальных модов — на их DLL. В игре CLLC не проверялся.

Ещё 25 модов

  • Переведены еще 25 модов, которые поддерживал другой пакет перевода: Balrond Amazing Nature, Arsenal Reborn, Constructions, Furniture Reborn, Dual Mastery и Lightkeeper, Passive Powers, OdinsSteelworks, Epic Loot, VNEI, Inventory Slots, Culinary Horizons, Hunter Legacy, Magic Supremacy, Eternal Legends, XPortal, TakeAllCooked, MoveBuildPieces, FoodDurationMultiplier, BossAdd, Huginn, FirstPersonMode, PerfectPlacement, Location Placement Accelerator и AzuWorkbenchTweaks. Всего 67 модов и субтитры игры.
  • У модов со своим русским переводом Tolmach дописывает только недостающие строки: ключи без перевода, вкладки строительства, сообщения ServerSync. Ключи, которые мод использует без английского текста (в игре виден [ключ]), переведены по месту использования.
  • ValheimArmory и ImpactfulSkills уже полностью переведены самими модами. Creature Level and Loot Control будет в следующей версии: ему нужен отдельный адаптер.
  • Литералы можно задавать и в типах без namespace (<global> в списке namespaces каталога).
  • Валидатор отклоняет ключ или сырую строку, которые в разных каталогах переведены по-разному.
  • Проверки: 341 тест NUnit, валидатор данных, сверка всех 630 литералов с IL самих DLL. В игре моды этой версии ещё не проверялись.

Самостоятельный пакет: 42 мода и субтитры игры

  • Tolmach работает сам по себе: другие пакеты русского перевода не нужны. Если такой пакет установлен, его строки по-прежнему не перезаписываются.
  • Новые моды: Jotunn (окно несовместимости модов при подключении, отмена и повтор действий, сброс навыков), AdventureBackpacks, AzuAreaRepair, PlantEasily и Balrond Humanoid Randomizer (варианты существ вроде «Грейдворф-страж», эффекты, атаки, оружие).
  • Субтитры звуков игры: 142 строки, которых нет в русской версии Valheim 1.0.16.
  • Расширены переводы: More World Locations AIO (порты, грузы и доставки, обучение в порту, святилища и благословения, путевые камни, торговцы, книги навыков), Balrond Shipyard (предметы, постройки, чертежи улучшений кораблей, записи Compendium), PlantEverything (названия и описания растений), AzuAutoStore, AzuCraftyBoxes и Build Camera (в том числе сообщения о несовпадении версий модов при подключении).
  • Исправлены переводы в 17 модах: термины приведены к русской версии игры (фулинги вместо гоблинов, Павшие, Матерь, Серокамень, повозка, рассекающий урон), исправлена грамматика сообщений DynamicStoragePiles, реплики NPC больше не зависят от пола.
  • Названия, описания и записи Compendium, которые моды хранят в объектах, переводятся при показе: сохранённые данные остаются на английском.
  • Вывод консольных команд переводится у модов, где он указан в docs/COVERAGE.md. Имена команд и аргументов остаются английскими.
  • Исправлен запуск игры вместе со StartupAccelerator: загрузка больше не останавливается. Tolmach не патчит методы с фильтром исключений (catch … when) и с блоком fault (итераторы с try/finally): HarmonyX 2.9 не может их правильно пересобрать, а StartupAccelerator применяет патчи позже, и ошибка останавливала игру. Поэтому заголовки окон редактора TradersExtended остаются английскими; содержимое окон переводится, как раньше.
  • Файлы каталогов называются tolmach-<мод>.json. Встроенный в SleepSkip и другие моды LocalizationManager принимал SleepSkip.json за свой файл перевода и падал.
  • При отложенных патчах в логе больше нет сотен ложных предупреждений «Literal not replaced»: проверка выполняется, когда транспайлер действительно отработал.
  • Проверки: 237 тестов NUnit, валидатор данных и сверка всех 318 литералов с IL установленных DLL. В самой игре пакет ещё не проверялся.

Features

  • translate SocialSystem and 18 more mods, correct three MissingPieces strings and show game names in the Recipe Description Expansion set block (ea3e9ac)
  • keep a mod's adapters when its version differs from the audited one (ea3e9ac)
  • reject catalogs that do not match their types (f48a3d5)
  • translate config texts that a mod reads in a named method (7c8df24)
  • apply Creature Level and Loot Control's own language table (a445acb)
  • allow literals in types without a namespace (f6a913f)
  • translate stored display text, add five mods and the game's captions (66b5328)
  • catalog: translate Creature Level and Loot Control (ae58edd)
  • catalog: translate 25 more mods (09ab47d)
  • package: replace the package icon with the book artwork (f98cb6b)
  • validation: check catalogs against a JSON Schema (01b098c)
  • validation: check the CLLC language table (a419d92)
  • validation: require one translation per key across catalogs (87813bd)

Bug Fixes

  • translate display calls of methods Harmony cannot rebuild (ea3e9ac)
  • patch only the overload that holds a literal (5145688)
  • leave methods with fault blocks unpatched (7e9c49c)
  • leave methods with exception filters unpatched (3a35f8e)
  • build: decode the package icon instead of reading its header (d585efd)
  • catalog: name seven objects by what they are in the mod (c1ecc3b)
  • catalog: follow the game's spelling, spacing and terms (8d73a7f)
  • catalog: add the strings found by the coverage audit (0a2c5df)
  • catalog: strings left English in the first 0.4.0 game session (22cb6a4)
  • catalog: name catalogs tolmach-<id>.json (69dd148)
  • catalog: use the game's Russian terms in 17 catalogs (8d0de49)

0.2.0 — новое имя: Tolmach

  • Пакет называется Tolmach («толмач» — старинное русское «переводчик»). Переводы и поведение не изменились: все 37 каталогов побайтно совпадают с 0.1.3.
  • Новый идентификатор плагина muratovnik.tolmach (был local.valheim.russianpack). DLL — Tolmach.dll, настройки — BepInEx/config/muratovnik.tolmach.cfg, отчёт — BepInEx/config/Tolmach.runtime.txt. Если у вас стоял локальный ValheimRussianPack, удалите его: у модов разные идентификаторы, и иначе загрузятся оба. Настройки из старого файла не переносятся.
  • Первый публичный выпуск. Исходники и релизы — github.com/Muratovnik/Tolmach. ZIP релиза собирается из закоммиченного кода, рядом публикуется SHA256SUMS.
  • Сборка: Build.ps1 берёт пути из переменных TOLMACH_* и принимает -OutputDirectory. Список хешей исходников SHA256SUMS.txt удалён: целостность исходников обеспечивает Git.

0.1.3 — первый собранный пакет для Thunderstore, Gale и r2modman

  • Впервые собрана и проверена DLL: 167 тестов NUnit с библиотеками игры, BepInEx и Harmony из профиля. Сборка выдаёт пакет Thunderstore, который импортируется в Gale и r2modman как локальный мод; зависимости BepInExPack и JsonDotNET указаны в манифесте.
  • Сообщение OreMines «Mines have been reset!» теперь переводится и в чате, и над головой: перехват перенесён на Chat.OnNewChatMessage. Прежний поиск Chat.AddString не находил метод, объявленный в Terminal.
  • Нативная регистрация через LocalizeKey больше не перезаписывает уже существующий чужой русский перевод ключа.
  • Перевод не записывается в отдельные «английские» экземпляры Localization, которые создают моды (например, SkillManager для имён разделов конфига).
  • Язык игры определяется её собственным GetSelectedLanguage (учитывает Steam Deck). Язык, выбранный игрой при первом запуске по локали системы, подхватывается при ближайшем обновлении, а не после перезапуска.
  • Метод мода, ссылающийся на отсутствующую необязательную зависимость, пропускается с предупреждением и больше не прерывает установку остальных адаптеров этого мода.
  • Удалено правило для Chat.AddString, которое никогда не срабатывало: вывод консольных команд модов по-прежнему не переводится.
  • Сборка: исправлен build-receipt.json (было ~57 МБ из-за сериализации PowerShell, с локальными путями). ZIP собирает Thunderstore CLI, затем проверяются формат пакета, раскладка для Gale и хеши DLL/каталогов. В проект добавлен nuget.config.
  • Собственный установщик Install.ps1/Install.cmd удалён: установку выполняет менеджер модов. Переводы и привязки 37 каталогов не изменены.

0.1.2 — стандартные механизмы и разделение проверки данных/исполнения

  • Сборка через SDK/MSBuild; один production-проект. Copy-only установка отделена.
  • NUnit/VSTest использует DLL production-проекта, без повторной компиляции src.
  • Удалены Python-переводчик, C#-лексер, собственный test Main и Reflect.Path.
  • Общая рефлексия и IL labels переданы Harmony. Нет сканирования 12 words-only модулей.
  • Jötunn public GetTranslations/AddTranslation, включая in string; Map не читается.
  • Глобальная регистрация через Translate/AddWord; защита существующего русского также при обратной регистрации нашего текста. Обновление кэша после native refresh.
  • Неуспешный rebind сбрасывает прежний runtime context; nullable входы display API оставляют оригинал вместо исключения. Ошибка отписки не останавливает очистку.
  • Пакетный путь сравнивает DLL/каталоги с тестовым выходом, не принимает пустой/пропущенный тестовый запуск. Старый ZIP отделяется от нового результата.
  • ZIP-установка проверяет разрешённые файлы и каталоги, дубликаты и размеры до записи профиля.
  • Все 37 каталогов сохранены без изменения; DLL и игровой запуск по-прежнему не получены.

История предшествующей поставки

Изменения

0.1.1 — исправления после ревью 0.1.0

Подтверждённые замечания предыдущего ревью

  • F2: BalrondShipyard.merged вместо имени файла без .merged.
  • F3: отдельное поле pluginVersion для всех 37 модулей; StructureTweaks 1.37. Отсутствующие build/revision трактуются как нули; ненулевая ревизия сравнивается.
  • F4: реальные подписи ExpertExplorer и семантический параметр стандартного имени в уведомлении о добавленной метке.
  • F5: только явно помеченные вложенные сообщения/названия полей переводятся повторно. Глубина вложения ограничена; остальные параметры непрозрачны.
  • F6: создание меток исключено из универсальных UI-перехватов. Отдельный адаптер меняет только подпись виджета; предусмотрено восстановление при смене языка и настройка отключения перевода стандартных меток.
  • F1 остаётся открытым: готовый бинарник не собран; среды исполнения нет.

Дополнительно найдено и исправлено при внесении правок

  • TradersExtended объединяет несколько ошибок. Добавлены 22 замены UI-литералов строго в BuildItemRowValidation, GetKeyValidation, GetIntersectionValidation. Идентификаторы и проверяемые значения не переводятся.
  • Ограничитель версии теперь применяется и к LegacyDisplay/OreMines chat-hook, которые иначе могли продолжать работать на неподтверждённой версии.
  • Старое сравнение версии игнорировало четвёртый компонент. Ненулевая revision теперь препятствует UI-патчам так же, как другой build/minor.
  • Отдельный адаптер постоянной подписи PortalLines отслеживает слабые ссылки и обновляет известный текст после переключения языка.
  • Собственный IlReader.cs заменён на Harmony.PatchProcessor.GetOriginalInstructions.
  • Добавлены диагностика фактических мест замены и отсутствующих ожидаемых литералов.
  • Производственный CatalogLoader используется тестами; убраны копии DTO из EngineStubs. Загрузка отвергает повторяющиеся JSON-ключи, пустые обязательные значения, несовпадающие плейсхолдеры и неизвестные правила перевода аргументов.
  • Установщик компилирует тот же код загрузчика/движка/адаптеров для тестов, проверяет версию созданной DLL, сохраняет идентичности зависимостей и build-receipt. Сторонние тестовые зависимости остаются только во временной папке.
  • Диагностика сбоя отката не скрывает его; native stderr собирается с проверкой exit code, а не принимается автоматически за завершённый журнал ошибок.

Все пункты относятся к изменённым исходникам и данным. Игровой запуск, фактическая компиляция и Windows-установка не подтверждены. Полный статус — в docs/REVIEW-0.1.1.md.

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