Skip to content

rsmm.sdk.i18n

rsmm.sdk.i18n

Localization bundle.

Each mod ships lang/<locale>.toml:

[strings]
title = "Frost Blade"
desc = "An icy weapon."

At apply time, RSMM merges strings into per-locale text-bank overrides under namespaced keys: RSMM_<modid>_<key>. Locale codes match the game’s existing 12 (apply_mods.LANG_DECODED_TO_ENCODED) plus RAW.

At runtime, R.i18n.t("key") reads from a flat dict published by the loader. This module is the host-side authoring + merging surface.

i18n

i18n.merge_bundles

i18n.merge_bundles(bundles: 'list[I18nBundle]') -> 'dict[str, dict[str, str]]'

Produce locale -> {namespaced_key: value} ready for text-bank merge.

Two mods can’t collide because keys are namespaced per mod_id.