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
translatenei 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
