Overview

Interface Translations

Centralized management of framework UI translations on the #/_wuic_translations/list route.

Scope

  • Interface dictionary for text keys (translation key) used in components.
  • Variants per language/culture (e.g., it-IT, en-US) with controlled fallback.
  • Coverage of labels, tooltips, messages, button captions, menu texts, and metadata editor.

Main Client-Side Features

  • Translation loading at startup via TranslationManagerService.
  • Runtime key -> value resolution with fallback on current language and default.
  • Direct integration with translate pipe in Angular templates.
  • UI update after metadata changes without frontend rebuild.
  • Support for new keys on the fly (when metadata and routes are updated).

Main Server-Side Features

  • Translation storage in a dedicated metadata table (_wuic_translations).
  • AsmxProxy API for reading/updating translation packages.
  • Authorization policy: translation modification limited to enabled users/roles.

Recommended Operational Flow

  • Insert/update keys in #/_wuic_translations/list.
  • Verify the key in the UI ({{ 'my_key' | translate }} or runtime equivalent).

md_props_bag

For this route, mandatory extensions are normally not needed, but operational options in the table md_props_bag are useful.

Snippet 1JSON
{
  "serverProperties": {
    "queryOptimization": {
      "enabled": true,
      "countPolicy": "skipWhenPaged",
      "sqlServerHint": "recompile"
    }
  • serverProperties.queryOptimization.enabled: enables the optimized query branch server-side.
  • countPolicy=skipWhenPaged: avoids total count when not needed; client-side pager remains stable during paginated navigation.
  • sqlServerHint=recompile: useful on translation datasets with highly variable filters.
  • endpoint.*: optional, used only if you want to force a specific source different from the default metadata-provider.

Best Practices

  • Keep keys semantic and stable (menu.sales.orders) instead of hardcoded texts.
  • Avoid semantic duplications between nearly identical keys.
  • Manage language fallback explicitly on critical keys (error messages, confirmations, warnings).
  • Align translation naming with metadata/feature naming for easier maintenance.

Screenshot

translations-interface / translations-interface-main
translations-interface / translations-interface-main