Skip to content
Version 2.11.0
↓ Get the launcher

ILocalization interface

Localizes this plugin’s own UI text. Resolves a stable structured key to the active UI language, falling back to English and then to the key literal. Scoped to the calling plugin’s own catalog (like IPluginLog) — keys never collide across plugins. Ship five Lang/<code>.json catalogs (en, ja, th, id, fil) as EmbeddedResource in your plugin; the framework auto-discovers them at load.

public interface ILocalization
name description
Language { get; } Active UI language code: "en", "ja", "th", "id" or "fil".
event LanguageChanged Raised after the active language changes (live switch). Rebuild any UI text you cached; text resolved at draw-time (a Func<string> label) needs no handler.
T(…) Resolve key to the active-language string (active → English → the key literal if unknown).
TFormat(…) Resolve key to a template and string.Format it with args. Templates carry positional placeholders ({0}) so other languages may reorder them. A missing key returns the key literal, unformatted.