Cos’è la cache MUI in Windows 10?

Sono sorpreso che questa domanda non abbia avuto risposta prima... o forse si è solo persa tra le domande su Mastered Ultra Instinct di Dragon Ball. 🙂

Per iniziare dall'inizio: MUI in Windows sta per Multilingual User Interface. Una volta era molto complicato avere una singola applicazione localizzata per più lingue. (Questo soprattutto perché non sono solo le stringhe di testo che devono essere cambiate; anche il layout delle finestre, le icone, la grafica e persino gli schemi dei colori possono dover essere cambiati). MUI semplifica il processo permettendo allo sviluppatore di un'applicazione di creare un file MUI per ogni lingua supportata dall'applicazione, che contiene versioni localizzate di tutte le risorse UI che devono essere cambiate. A runtime, ogni volta che il programma cerca di caricare una risorsa, Windows interviene e dice "Aspetta; c'è un file MUI per questa lingua per questa applicazione, e se sì, ha una versione localizzata di questa risorsa? Se sì, caricherò quella invece della risorsa che è nell'applicazione stessa". Tutto funziona in modo trasparente.

Lo svantaggio dello schema MUI è che è un po' più lento. La differenza è impercettibile quando stai usando un'applicazione - i file MUI per l'applicazione devono essere letti solo una volta. Ma quando si usano cose come File Explorer, che devono visualizzare informazioni localizzate per un mucchio di diverse applicazioni o file contemporaneamente, le cose possono impantanarsi.

Per ridurre questo problema, alcuni programmi usano la "cache MUI" per le stringhe localizzate. Una volta che la versione giusta di una stringa viene recuperata dal posto giusto per una data applicazione, viene memorizzata nel registro. Poi, se la stringa è di nuovo necessaria, può essere recuperata dal registro, il che è più veloce che dover aprire di nuovo il file MUI.

Ci sono vari strumenti che offrono di cancellare la cache MUI. Devo ancora imbattermi personalmente in una situazione in cui ciò sia utile, ma normalmente non dovrebbe nemmeno essere dannoso; significa solo che la prossima volta che Windows avrà bisogno di ciascuna di quelle stringhe precedentemente memorizzate, dovrà tornare ai file MUI per ottenerle.