Overview

Traduzioni interfaccia

Gestione centralizzata delle traduzioni UI del framework sulla route #/_wuic_translations/list.

Scope

  • Dizionario interfaccia per chiavi testuali (translation key) usate nei componenti.
  • Varianti per lingua/cultura (es. it-IT, en-US) con fallback controllato.
  • Copertura di label, tooltip, messaggi, caption pulsanti, testi menu e metadata editor.

Feature principali lato client

  • Caricamento traduzioni all'avvio tramite TranslationManagerService.
  • Risoluzione runtime chiave -> valore con fallback su lingua corrente e default.
  • Integrazione diretta con pipe translate nei template Angular.
  • Aggiornamento UI dopo modifiche ai metadati senza rebuild frontend.
  • Supporto a chiavi nuove in corso d'opera (quando metadata e route vengono aggiornate).

Feature principali lato server

  • Storage traduzioni in tabella metadati dedicata (_wuic_translations).
  • API AsmxProxy per lettura/aggiornamento pacchetti traduzioni.
  • Policy autorizzative: modifica traduzioni limitata a utenti/ruoli abilitati.

Flusso operativo consigliato

  • Inserire/aggiornare chiavi in #/_wuic_translations/list.
  • Verificare la chiave in UI ({{ 'my_key' | translate }} o equivalente runtime).

md_props_bag

Per questa route normalmente non servono estensioni obbligatorie, ma sono utili opzioni operative nel md_props_bag tabella.

Snippet 1JSON
{
  "serverProperties": {
    "queryOptimization": {
      "enabled": true,
      "countPolicy": "skipWhenPaged",
      "sqlServerHint": "recompile"
    }
  • serverProperties.queryOptimization.enabled: abilita branch query ottimizzato lato server.
  • countPolicy=skipWhenPaged: evita count totale quando non necessario; lato client pager resta stabile su navigazione paginata.
  • sqlServerHint=recompile: utile su dataset traduzioni con filtri molto variabili.
  • endpoint.*: opzionale, usato solo se vuoi forzare una sorgente specifica diversa dal default metadata-provider.

Best practice

  • Tenere chiavi semantiche e stabili (menu.sales.orders) invece di testi hardcoded.
  • Evitare duplicazioni semantiche tra chiavi quasi uguali.
  • Gestire fallback lingua in modo esplicito su chiavi critiche (messaggi errore, conferme, warning).
  • Allineare naming traduzioni con naming metadata/feature per facilitare manutenzione.

Screenshot

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