logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.Localization.Installation.Settings.Editor

    Classes

    LocalizationCollectionAdoption

    Adopts Serenity's shipped localization tables as Unity Localization collections of the project's own, through the Localization package's API. A byte-for-byte copy of a table belongs to no collection: the Localization Settings wizard reads a binding to it as unresolved, and the runtime — which loads a table through its collection's name — never finds it. Each shipped collection an adoption reaches becomes a new collection named by the rule that renames every other adopted asset (AdoptedIdentityRules), holding every key under its original key id, every translation and the metadata attached to either; a later adoption reuses it instead of making another. The package registers the new tables in its own Addressables groups, which is where the runtime loads string and asset tables from.

    LocalizationRecipeCollectionPlan

    What one recipe localization entry would change in a String Table Collection, read before anything is written: the locales and tables it needs that do not exist yet, the keys the shared data lacks, and the translations whose text differs from what the tables hold. The import applies exactly this and the dry run reports exactly this, so an unedited entry writes nothing and says "unchanged".

    LocalizationRecipeExporter

    Exports the Unity Localization String Table Collections under the scan root into the recipe localization section — each collection's name, folder, locales and per-key translations — the inverse of LocalizationRecipeImporter. Lives in the localization assembly and is discovered by reflection, so the core recipe exporter never depends on the Unity Localization package.

    LocalizationRecipeImporter

    Generates Unity Localization String Table Collections from the recipe localization section: ensures the requested locales exist, creates or finds the collection, and upserts each key's per-locale text. Lives in the localization assembly (which references the recipe assembly) and is discovered by reflection, so the core recipe engine never depends on the Unity Localization package.

    SerenityLocalizationKeyValidator

    Validates the translation keys designers type into Serenity assets (any field with its IsTranslating<Field> toggle on) against the project's Unity Localization string tables. The GUI-free engine behind SerenityLocalizationKeyValidatorWindow, also driven headlessly by the project validation runner.

    SerenityLocalizationKeyValidatorWindow

    Editor window that validates the translation keys designers type into Serenity assets against the project's Unity Localization string tables.
    Anywhere a Serenity asset has an IsTranslating* toggle turned on (menu/modal titles, option labels, modal text, game-setting values…), the paired key is checked: a key that exists in no string table is reported as missing (it would silently fall back to the raw key at runtime), and a translating field left blank is reported as a warning.

    UnityLocalizationSettingsEditor

    Custom Unity Editor for UnityLocalizationSettings that provides interface for configuring language keys and localization tables.
    Integrates with Unity's localization system to display available tables and game settings for selection.

    In this article
    © 2026 Serenity. All Rights Reserved