LocalizationExtension

v1.1.3·Updated 2023-06-10

Allows modders to provide localization for their mods using the game's localization system, and also to localize other mods without changing them.

About this mod Author’s original text

LocalizationExtension

Allows modders to provide localization for their mods using the game's localization system.

If you are not a mod developer, you can most likely ignore this mod.

The only exception is if you are manually installing mods (instead of mod manager)

in which case download this mod and put it into your BepInEx plugins folder.

SideLoader compatibility

SideLoader already has its own localization table patcher, and it does not support different languages. My current workaround to

that is not perfect, you may have to restart the game after changing language.

Usage

General usage

Add this mod as dependency to your mod's manifest.

Example:

"dependencies": [

"BepInEx-BepInExPack_Outward-5.4.18",

"Faeryn-LocalizationExtension-1.1.3"

]

Add one or more language files to your mod's lang folder (you will have to create it).

The files should be in the following format: languagekey.ext, where

  • languagekey is one of the game's supported languages: English, French, German, Italian, Spanish, zeChinese, zeJapanese, zeKorean, zePolish, zePortuguese, zeRussian, zeTurkish
  • ext is the extension, currently only cfg is supported.

Example:

MyMod.zip

|- plugins

| |- MyMod.dll

| -- lang

| |- English.cfg

| |- Spanish.cfg

| -- French.cfg

|- icon.png

|- manifest.json

-- README.md

The contents of a cfg file is a list of key-value pairs separated by =. Keys are WITHOUT your mod's GUID. For example:

some.key=Some Value

some.key.with_parameter=Some Key With {1} Parameter {2}

Note: Parameter numbering starts from 1, not 0.

Empty lines and lines starting with # or; are ignored so you can also add comments.

The cfg format doesn't allow newlines (each line is a single entry), therefore if you want to add newlines, you will have to use \n, like so:

some.key.with_newline=This is the first line\nThis is the second line\n\nThird line is empty, this is the fourth

Then you can use the game's localization manager for texts in your mod, like so:

LocalizationManager.Instance.GetLoc($"{YourMod.GUID}.some.key");

Or with parameters:

LocalizationManager.Instance.GetLoc($"{YourMod.GUID}.some.key.with_parameter", "param1", "param2");

In case you don't provide a language file for each language, you should also add a file named default.txt into the lang folder

containing the name of your fallback language (which will be used for unsupported languages). Default is English if the file is missing.

Items and skills

For item and skill localization, the key should be in the following format:

/item/[itemID]/name

/item/[itemID]/description

Where [itemID] is the ID of the item or skill in question. Note that this will override the name and description specified in the SideLoader item definition.

Example:

/item/-1234567/name=Example Item

/item/-1234567/description=An item that serves as a good example

Enchantments

Enchantments added by SideLoader require the following key format:

/Enchantment_[enchantmentID]

/DESC_Enchantment_[enchantmentID]

Where [enchantmentID] is the ID of the enchantment in question. Note that this will override the name and description specified in the SideLoader enchantment definition.

Example:

/Enchantment_-1234567=Example Enchantment

/DESC_Enchantment_-1234567=This is an example enchantment

Status effects

Status effects added by SideLoader require the following key format:

/NAME_[StatusIdentifier]

/DESC_[StatusIdentifier]

Where [StatusIdentifier] is the StatusIdentifier of the status effect in question (defined in the TargetStatusIdentifier field). Note that this will override the name and description specified in the SideLoader status effect definition.

Example:

/NAME_ExampleStatusEffect=Example Status Effect

/DESC_ExampleStatusEffect=A good example

Overriding built-in localization entries

By default, general localization entries are prefixed by mod GUID. If you, for some reason, need to override existing entries,

then the / prefix can be used. For example:

/examplekey

This will ove

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPack_Outward

File & checksum

Filename
LocalizationExtension-1.1.3.zip
File size
37.6 KiB
SHA-256
bae4115f89362bd4402406b6fac1c57c45bb8dbd25668ffb687df2873ade3cec
Stored at
2026-10-06 19:09