# Localization

Updated for version 4.0.

## Module Definition

The module is inherited from [ModuleBase](https://luffyyy.gitbook.io/beardlib/modules/modulebase). So base parameters can be found there.

### Module name

The name of the module you use as the meta of the module definition is 'Localization' or 'LocalizationModule' if `_force_search` is set to true in the module definition.

### XML Structure

```markup
<Localization directory default>
    <loc language file/>
</Localization>
```

#### `<Localization directory default>`

| Parameter | Type   | Description                                                                                                                                   |
| --------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
| directory | String | Sirectory/path relative to the mods directory which contains all of the localization files you are referencing. \[OPTIONAL]                   |
| default   | String | File name which is the default localization file if the game's language does not have an appropriate localization file in your xml definition |

#### `<loc language file/>`

| Parameter    | Type   | Description                                                                                                                                                                       |
| ------------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| localization | String | The meta. Can be either `localization` or `loc`                                                                                                                                   |
| file         | String | File name of the localization file relative to the ModPath (And `directory` if specified). The file can be a json file or a YAML file (extension must end with .yaml to use YAML) |
| language     | String | Representation of the language that this localization file is for. Languages that are supported in the game already. Or were added through modding like Korean                    |

### Example

This example is what you would put inside your main node within your [mod config](https://github.com/GreatBigBushyBeard/PAYDAY-2-BeardLib/wiki/Module-Config)

```markup
<Localization directory="Lang" default="english.txt">
    <loc file="english.txt" language="english"/>
    <loc file="russian.txt" language="russian"/>
</Classes>
```

For this example your class like this: `mods/MyMod/Lang/english.txt` and `mods/MyMod/Lang/russian.txt`. If you are using this module in a BLT mod.

Or if you only have English in your mod:

```markup
<Localization directory="Lang" default="english.txt"/>
```

### Functions

| Function           | Description                                                                                                                                                                                                         |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| LoadLocalization() | The function loads the localization files. The function is called from the `Load()` function either from the function itself (If localization manager is available) or from the `LocalizationManagerPostInit` hook. |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://luffyyy.gitbook.io/beardlib/modules/localizationmodule.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
