Subnautica
0 of 0

File information

Last updated

Original upload

Created by

Raqzas

Uploaded by

Raqzas

Virus scan

Safe to use

About this mod

A Subnautica mod which allows for arbitrary replacement of non-localised text.

Requirements
Permissions and credits
BubbleFish

A Subnautica mod which allows for arbitrary replacement of any non-localised text using simple text files.

The move away from SMLHelper to Nautilus as a core modding library came with many changes to how modded in-game text is handled. Nautilus expects modders to implement localisation properly, rather than providing a band-aid solution to end users. However, many modders have failed to do so, resulting in mods which cannot be translated without recompiling and reuploading the entire mod in a different language. This sucks. BubbleFish aims to fill that gap by enabling the replacement of modded text through simple, user-editable text files. See below for instructions.

Installation

  • Install BepInEx.
  • Install Nautilus.
  • Unzip this mod into your Subnautica/BepInEx directory.
  • Create or add language files in the Subnautica/BepInEx/plugins/BubbleFish/Localization folder.
  • Enjoy!

Compatibility

This mod is explicitly written to interact with other mods which rely on Nautilus, and will behave unpredictably if SMLHelper is installed. It is highly recommended you do not run this mod with SMLHelper.

Using the Mod

After installing the mod, add any customised language files into the mod's BubbleFish/Localization directory. Any file in that folder or a subdirectory of it will be treated as a language file to overwrite other mods' text with. BubbleFish will read the files in alphabetical order. Multiple files may override the same lines without causing problems.
In case of conflict, BubbleFish will use the file that it read last.

Creating Translations

Your first step should be contacting the author of the mod you want to translate and asking them to add proper localisation. BubbleFish will never be able to provide the same level of support as the original mod could (see the Limitations section below). If this does not work, proceed as follows.

After installing the mod, enable `Translator Mode` in the in-game options menu. This will add extra debug logs to help you find and diagnose missing language lines.

In order to create a translation file for a particular mod, play the game and try to get as much text to appear on screen as you can. BubbleFish can only detect text which was loaded by the game's language system, so you should try to see as much of the untranslated mod's text as you can. Spawn in any modded items, open encyclopedia entries, trigger PDA messages, etc.

Once you think you've found everything, you can either close the game or press the Save Missing Lines to Disk button in the options menu. This will create a MissingLines_[language].json file in the BubbleFish mod directory. This file contains all text which entered the game's language system without a proper translation. Rename the file to something like Modname_Language.json and copy it to the Localization folder.

Start by making sure that the language at the very top of the file is correct. It must match the game's internal name for the language exactly, otherwise your translation will not load. If you generated the MissingLines.json file with your target language active, this field will already be filled correctly.
Then, start removing any lines from the file which do not belong to the mod you are translating. Even the Vanilla game still contains untranslated text, such as the keybinds in the options menu. This is why you will often see lines like "E": "" or "F12": "". Remove those. For any remaining lines, add your translation between the quotes on the right hand side. You can test your translation in a running game by pressing the Reload Custom Language Files button in the mod options menu. Note that this will only affect text running through the game's language system from this point forward; any old text that the game is keeping loaded will still appear untranslated. You can try reopening menus or reloading a save to force the game to reload text.

Once you are satisfied with your translation, ensure you give the translation file a descriptive name so you know what  mod and language it is for. You can then freely share your translation with anyone else running BubbleFish, who then simply needs to drop your file into their BubbleFish/Localization folder.

Limitations

BubbleFish can only localise text that enters the game's language system. This includes things like item names, databank entries, in-game options, or anything else touching game systems, but does not include custom HUD elements, in-game messaging in the top left of the screen, or mod patches that circumvent or modify Language calls. BubbleFish does its best to make localisation possible, but the preferred way will always be for mod authors to implement localisation themselves, properly.